色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java跳過周末和法定節假日

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

在Java開發中,經常會遇到需要跳過周末和法定節假日的需求。下面介紹兩種方法實現。

方法1:通過自定義日期工具類實現

public class DateUtils {
private static final Set<LocalDate> holidays = new HashSet();
// 初始化法定節假日
static {
holidays.add(LocalDate.of(2021, 1, 1)); // 元旦節
holidays.add(LocalDate.of(2021, 4, 4)); // 清明節
holidays.add(LocalDate.of(2021, 5, 1)); // 勞動節
holidays.add(LocalDate.of(2021, 6, 14)); // 端午節
holidays.add(LocalDate.of(2021, 9, 21)); // 中秋節
holidays.add(LocalDate.of(2021, 10, 1)); // 國慶節
holidays.add(LocalDate.of(2021, 10, 2)); // 國慶節
holidays.add(LocalDate.of(2021, 10, 3)); // 國慶節
}
// 是否為法定節假日
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日,國慶節
LocalDate nextWorkingDay = DateUtils.getNextWorkingDay(date); // 獲取下一個工作日
System.out.println(nextWorkingDay); // 輸出2021-10-04,周一

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

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

使用方法:

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

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