java调用百度接口判断日期是否是工作日 周末还是节假日

Python011

java调用百度接口判断日期是否是工作日 周末还是节假日,第1张

你好,这个功能一般是使用一个专门的数据库表把一年的节假日都存进去来判断的。国家每年都会提前发布一年的节假日,然后我们再导入到数据库。而特殊的做法应该可以接入百度之类的接口。希望能帮到你。

百度地图Web服务API为开发者提供http接口,即开发者通过http形式发起检索请求,获取返回json或xml格式的检索数据。

api官网说明链接:

http://developer.baidu.com/map/webservice.htm

1、可用接口列举:

获取相关地址提示 place suggestion

http://api.map.baidu.com/place/v2/suggestion?query=水杉®ion=成都&output=json&ak=42b8ececa9cd6fe72ae4cddd77c0da5d

2、获取坐标 geocoding

http://api.map.baidu.com/geocoder?address=锦江区菱安路299号&output=json&key=42b8ececa9cd6fe72ae4cddd77c0da5d

http://api.map.baidu.com/place/v2/search?ak=42b8ececa9cd6fe72ae4cddd77c0da5d&output=json&query=蓝光coco金沙&page_size=10&page_num=0&scope=1®ion=成都

{

"status":0,

"message":"ok",

"total":2,

"results":[

{

"name":"蓝光COCO金沙",

"location":{

"lat":30.687544,

"lng":103.996691

},

"address":"西三环外金沙西源大道(IT大道旁)",

"uid":"223992992c5ee7e0841541df"

},

{

"name":"蓝光COCO金沙2期",

"location":{

"lat":30.681123,

"lng":103.991123

},

"address":"青羊区金沙IT大道旁",

"uid":"b7bb5abb1cd4982213293580"

}

]

}

3、设施导航

http://api.map.baidu.com/place/v2/search?ak=42b8ececa9cd6fe72ae4cddd77c0da5d&output=json&query=图书馆&page_size=20&page_num=0&scope=2®ion=成都

4、java测试类:

import java.io.BufferedReader

import java.io.InputStreamReader

import java.net.URL

import java.net.URLEncoder

import java.util.HashMap

import java.util.Map

public class LocationUtil {

private static final String BAIDU_APP_KEY = "42b8ececa9cd6fe72ae4cddd77c0da5d"

/**

* 返回输入地址的经纬度坐标 key lng(经度),lat(纬度)

*/

public static Map<String, String>getLatitude(String address) {

try {

// 将地址转换成utf-8的16进制

address = URLEncoder.encode(address, "UTF-8")

// 如果有代理,要设置代理,没代理可注释

// System.setProperty("http.proxyHost","192.168.172.23")

// System.setProperty("http.proxyPort","3209")

URL resjson = new URL("http://api.map.baidu.com/geocoder?address="

+ address + "&output=json&key=" + BAIDU_APP_KEY)

BufferedReader in = new BufferedReader(new InputStreamReader(

resjson.openStream()))

String res

StringBuilder sb = new StringBuilder("")

while ((res = in.readLine()) != null) {

sb.append(res.trim())

}

in.close()

String str = sb.toString()

System.out.println("return json:" + str)

if(str!=null&&!str.equals("")){

Map<String, String>map = null

int lngStart = str.indexOf("lng\":")

int lngEnd = str.indexOf(",\"lat")

int latEnd = str.indexOf("},\"precise")

if (lngStart >0 &&lngEnd >0 &&latEnd >0) {

String lng = str.substring(lngStart + 5, lngEnd)

String lat = str.substring(lngEnd + 7, latEnd)

map = new HashMap<String, String>()

map.put("lng", lng)

map.put("lat", lat)

return map

}

}

} catch (Exception e) {

e.printStackTrace()

}

return null

}

public static void main(String args[]) {

Map<String, String>map = LocationUtil.getLatitude("成都 高新西区西区大道1398号")

if (null != map) {

System.out.println(map.get("lng"))

System.out.println(map.get("lat"))

}

}

}