获取节假日

获取节假日地址:

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);
    }
原文地址:https://www.cnblogs.com/luliang888/p/13739317.html