解决特权时间段的Bug

This commit is contained in:
2026-05-14 23:53:37 +08:00
parent 5585f2c08a
commit 5958e8412d
4 changed files with 192 additions and 12 deletions

View File

@@ -0,0 +1,25 @@
package com.rj.util;
import java.time.LocalDate;
import java.time.temporal.WeekFields;
/**
* ISO-8601 工作日判断(与 {@link LocalDate} 默认历法一致)。
* <p>
* 周末判定使用 {@link WeekFields#ISO} 的 day-of-week 数值:周一=1 … 周日=7周六、周日为 6、7。
* 与 {@link java.time.LocalDate#getDayOfWeek()} 结论一致;调试时可打印 {@link #isoDayOfWeek(LocalDate)} 便于核对年份。
*/
public final class IsoWorkdayUtils {
private IsoWorkdayUtils() {}
/** ISO 星期字段数值1=周一 … 7=周日。 */
public static int isoDayOfWeek(LocalDate d) {
return d.get(WeekFields.ISO.dayOfWeek());
}
/** 周六、周日为 trueisoDow 为 6 或 7。 */
public static boolean isWeekend(LocalDate d) {
return isoDayOfWeek(d) >= 6;
}
}