获取节假日地址:
Java 获取国家法定节假日接口
支持http访问
可以自行修改参数:query=xxxx年xx月
例如:query=2020年01月
https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?query=2020年01月&resource_id=6018&format=json
通过JAVA代码获取节假日
/**
* 获取节假日
*
* @return
*/
public static List<String> getHolidayList() {
int year = DateUtil.year(DateUtil.date());
String holidayStr = JedisClusterUtils.getString("pf-jjr" + year);
if (StringUtils.isBlank(holidayStr)) {
//--------start
HashMap<String, Object> paramMap = new HashMap<>();
paramMap.put("query", 2020);
paramMap.put("resource_id", "6018");
paramMap.put("format", "json");
String result = HttpUtil.get("https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php", paramMap);
List<HashMap<String, String>> list = new ArrayList<>();
JSONObject.parseObject(result).getJSONArray("data").getJSONObject(0).getJSONArray("holiday").stream().forEach(json -> {
List<Object> collect = JSONObject.parseObject(json.toString()).getJSONArray("list").stream().filter(data -> JSONObject.parseObject(data.toString()).getString("status").equals("1")).collect(Collectors.toList());
HashMap<String, String> map = new HashMap<>();
map.put("start", JSON.parseObject(String.valueOf(collect.get(0))).getString("date"));
map.put("end", JSON.parseObject(String.valueOf(collect.get(collect.size() - 1))).getString("date"));
list.add(map);
});
//--------end
JedisClusterUtils.saveString("pf-jjr" + year, JSONObject.toJSONString(list), 366, TimeUnit.DAYS);
holidayStr = JedisClusterUtils.getString("pf-jjr" + year);
}
return JSONObject.parseArray(holidayStr, String.class);
}