JAVA 获取工作日、节假日工具 Lunar

  • Post author:
  • Post category:java


开源项目地址


https://github.com/6tail/lunar-java

使用很简单,但是好像无法直接通过maven拉包,也可能我们公司网络问题。

参考文档,在github上项目下拉页面底部


http://6tail.cn/calendar/api.html

一般会使用这个,但是这个在我当前发现有个弊端,无法获取非节假日并且非调休的指定日期是否是工作日,没细看源码,应该是为了减少冗余,只维护了节假日以及与节假日调休相关的日期,这个就会导致如果与假期无关的日子就会报空指针异常


所以去除真正的节假日需要两步走

判断是否是法定节假日,判断是否是周末就可以完美解决。上代码

        boolean isWork = true;
		Holiday holiday = HolidayUtil.getHoliday(DateUtil.getCurrentDate());
		if(holiday == null){
			// 获取周几工具类,不再赘述
			int weekDay = DateUtil.getWeek(new Date());
			if(weekDay > 5){
				isWork = false;
			}
		} else {
			isWork = holiday.isWork();
		}



版权声明:本文为Day_Breaking原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。