业务需要,不废话,直接说核心、
直接上最佳解决方案,那就是动态的获取国家法定节假日(每年都会更新,可维护性更强)。并去除周六周末、
当然,有一种比较low的解决方案就是把当年的法定节假日储存到表中或者直接写到配置文件中,比如国庆,除夕等等节日、动态获取国家法定节假日才能够一劳永逸;
网上有一个日期API 说能够调用接口返回json ,但是亲测无卵用,还需大家分辨、
》
接口如下:
http://tool.bitefu.net/jiari/vip.php?d=2019&info=0&type=8&apikey=123456
返回的json 如下,jackson 对其格式转换成java对象,遍历取值,取出法定节假日日期(1节日休、0上班)
{“status”:1,“data”:{“0101”:1,“0204”:1,“0205”:1,“0206”:1,“0207”:1,“0208”:1,“0209”:1,“0210”:1,“0405”:1,“0406”:1,“0407”:1,“0501”:1,“0607”:1,“0608”:1,“0609”:1,“0913”:1,“0914”:1,“0915”:1,“1001”:1,“1002”:1,“1003”:1,“1004”:1,“1005”:1,“1006”:1,“1007”:1,“0202”:0,“0203”:0,“0929”:0,“1012”:0}}
json 和java 对象互转可参考
https://blog.csdn.net/weixin_42323802/article/details/84750633
源代码我这里分享部分,剩余的有时间放在github上供大家参考、
//处理json 1节日休0班
ObjectMapper mapper = new ObjectMapper();
Object o1 = mapper.readValue(result, new TypeReference<HashMap<String, Object>>() {
});
System.out.println(o1);
2019.01.27 更新
标题功能好实现,但是给出用户自定义的节假日就比较坑了。
很天真的认为对集合 add remove 就行了,但是底层源码需要线程锁来支持、
会报错 java.util.Concu