zhangherong
2025-07-12 6e006cb835fce4720139de0cc2ec3be734295ed9
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/util/DateUtils.java
@@ -1092,27 +1092,73 @@
     * 获取本周的第一天日期, 格式为:yyyy-MM-dd
     * @return
     */
    public static Date getFirstDayOfWeek() {
        // 获取本周第一天(周一)的 LocalDate
        LocalDate today = LocalDate.now();
        LocalDate firstDayOfWeek = today.with(DayOfWeek.MONDAY);
    public static Date getFirstDayOfWeek(String date) {
        // 将 java.util.Date 转换为 LocalDate
        LocalDate localDate = LocalDate.parse(date);
        // 如果需要转换为传统的 Date 类型(可选)
        java.sql.Date sqlDate = java.sql.Date.valueOf(firstDayOfWeek);
        return new Date(sqlDate.getTime());
        // 获取本周第一天(周一)
        LocalDate firstDayOfWeek = localDate.with(DayOfWeek.MONDAY);
        // 转换回 Date 类型
        return Date.from(firstDayOfWeek.atStartOfDay(ZoneId.systemDefault()).toInstant());
    }
    /**
     * 获取本周的第一天日期, 格式为:yyyy-MM-dd
     * @return
     */
    public static Date getFirstDayOfWeek(Date date) {
        // 将 java.util.Date 转换为 LocalDate
        LocalDate localDate = date.toInstant()
                .atZone(ZoneId.systemDefault())
                .toLocalDate();
        // 获取本周第一天(周一)
        LocalDate firstDayOfWeek = localDate.with(DayOfWeek.MONDAY);
        // 转换回 Date 类型
        return Date.from(firstDayOfWeek.atStartOfDay(ZoneId.systemDefault()).toInstant());
    }
    /**
     * 获取本周的最后一天日期, 格式为:yyyy-MM-dd
     * @return
     */
    public static Date getLastDayOfWeek() {
        // 获取本周第一天(周一)的 LocalDate
        LocalDate today = LocalDate.now();
        LocalDate firstDayOfWeek = today.with(DayOfWeek.SUNDAY);
    public static Date getLastDayOfWeek(String date) {
        // 将 java.util.Date 转换为 LocalDate
        LocalDate localDate = LocalDate.parse(date);
        // 如果需要转换为传统的 Date 类型(可选)
        java.sql.Date sqlDate = java.sql.Date.valueOf(firstDayOfWeek);
        return new Date(sqlDate.getTime());
        // 获取本周第一天(周日)
        LocalDate lastDayOfWeek = localDate.with(DayOfWeek.SUNDAY);
        // 转换回 Date 类型
        return Date.from(lastDayOfWeek.atStartOfDay(ZoneId.systemDefault()).toInstant());
    }
    /**
     * 获取本周的最后一天日期, 格式为:yyyy-MM-dd
     * @return
     */
    public static Date getLastDayOfWeek(Date date) {
        // 将 java.util.Date 转换为 LocalDate
        LocalDate localDate = date.toInstant()
                .atZone(ZoneId.systemDefault())
                .toLocalDate();
        // 获取本周第一天(周日)
        LocalDate lastDayOfWeek = localDate.with(DayOfWeek.SUNDAY);
        // 转换回 Date 类型
        return Date.from(lastDayOfWeek.atStartOfDay(ZoneId.systemDefault()).toInstant());
    }
    public static boolean isSameDay(Date date1, Date date2) {
        if (date1 == null || date2 == null) {
            return false;
        }
        LocalDate localDate1 = date1.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
        LocalDate localDate2 = date2.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
        return localDate1.equals(localDate2);
    }
}