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());
    }

    /** 周六、周日为 true（isoDow 为 6 或 7）。 */
    public static boolean isWeekend(LocalDate d) {
        return isoDayOfWeek(d) >= 6;
    }
}
