java代码如何判断一个日期是否为节假日呢?
下文笔者讲述java代码检测一个日期是否为节假日的方法分享,如下所示
判断日期是否为节假日的实现思路
我们只需借助Hutool的HolidayUtil类下的方法 即可检测日期是否为节假日例:日期是否为节假日的判断方法
import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.extra.astro.ChineseDate; import cn.hutool.extra.astro.Lunar; import cn.hutool.extra.astro.Solar; public class HolidayDemo { public static void main(String[] args) { String dateStr = "2023-10-01"; boolean isHoliday = isHoliday(dateStr); boolean isWeekend = isWeekend(dateStr); boolean isWorkingDay = isWorkingDay(dateStr); System.out.println(dateStr + " 是否为节假日:" + isHoliday); System.out.println(dateStr + " 是否为周末:" + isWeekend); System.out.println(dateStr + " 是否为工作日:" + isWorkingDay); } // 判断日期是否为节假日 private static boolean isHoliday(String dateStr) { // 解析日期字符串为日期对象 java.util.Date date = DateUtil.parse(dateStr); // 判断是否为法定节假日 boolean isHoliday = cn.hutool.extra.astro.HolidayUtil.isHoliday(date); if (isHoliday) { return true; } // 判断是否为农历节日 Lunar lunar = new Lunar(date); ChineseDate chineseDate = lunar.getChineseDate(); String chineseHoliday = cn.hutool.extra.astro.HolidayUtil.getHolidayStr(chineseDate); if (StrUtil.isNotBlank(chineseHoliday)) { return true; } // 判断是否为非周末的休息日 boolean isOffDay = cn.hutool.extra.astro.HolidayUtil.isOffDay(date); if (isOffDay) { return true; } return false; } // 判断日期是否为周末(非工作日) private static boolean isWeekend(String dateStr) { // 解析日期字符串为日期对象 java.util.Date date = DateUtil.parse(dateStr); // 判断是否为周末 boolean isWeekend = cn.hutool.extra.astro.HolidayUtil.isWeekend(date); return isWeekend; } // 判断日期是否为工作日 private static boolean isWorkingDay(String dateStr) { // 解析日期字符串为日期对象 java.util.Date date = DateUtil.parse(dateStr); // 判断是否为工作日 boolean isWorkingDay = cn.hutool.extra.astro.HolidayUtil.isWorkingDay(date); return isWorkingDay; } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。