欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java跳過周末和法定節(jié)假日

榮姿康1年前7瀏覽0評論

在Java開發(fā)中,經常會遇到需要跳過周末和法定節(jié)假日的需求。下面介紹兩種方法實現(xiàn)。

方法1:通過自定義日期工具類實現(xiàn)

public class DateUtils {
private static final Set<LocalDate> holidays = new HashSet();
// 初始化法定節(jié)假日
static {
holidays.add(LocalDate.of(2021, 1, 1)); // 元旦節(jié)
holidays.add(LocalDate.of(2021, 4, 4)); // 清明節(jié)
holidays.add(LocalDate.of(2021, 5, 1)); // 勞動節(jié)
holidays.add(LocalDate.of(2021, 6, 14)); // 端午節(jié)
holidays.add(LocalDate.of(2021, 9, 21)); // 中秋節(jié)
holidays.add(LocalDate.of(2021, 10, 1)); // 國慶節(jié)
holidays.add(LocalDate.of(2021, 10, 2)); // 國慶節(jié)
holidays.add(LocalDate.of(2021, 10, 3)); // 國慶節(jié)
}
// 是否為法定節(jié)假日
public static boolean isHoliday(LocalDate date) {
if (date.getDayOfWeek() == DayOfWeek.SATURDAY || date.getDayOfWeek() == DayOfWeek.SUNDAY) {
return true;
}
if (holidays.contains(date)) {
return true;
}
return false;
}
// 獲取下一個工作日
public static LocalDate getNextWorkingDay(LocalDate date) {
do {
date = date.plusDays(1);
} while (isHoliday(date));
return date;
}
}

使用方法:

LocalDate date = LocalDate.of(2021, 10, 1); // 2021年10月1日,國慶節(jié)
LocalDate nextWorkingDay = DateUtils.getNextWorkingDay(date); // 獲取下一個工作日
System.out.println(nextWorkingDay); // 輸出2021-10-04,周一

方法2:使用第三方工具類holiday-java進行計算

holiday-java是一款輕量級的Java節(jié)假日計算工具,支持中國法定節(jié)假日、放假調休日和節(jié)氣,能夠精確計算指定日期是否為法定節(jié)假日、放假調休日,以及獲取下一個工作日和下一個假期。

使用方法:

// 初始化HolidayUtil,建議將其作為單例對象使用
HolidayUtil holidayUtil = new HolidayUtil();
LocalDate date = LocalDate.of(2021, 10, 1); // 2021年10月1日,國慶節(jié)
LocalDate nextWorkingDay = holidayUtil.nextWorkday(date); // 獲取下一個工作日
System.out.println(nextWorkingDay); // 輸出2021-10-04,周一

以上兩種方法均能夠實現(xiàn)跳過周末和法定節(jié)假日,可以根據實際情況選擇適合自己的方法。