From 6e006cb835fce4720139de0cc2ec3be734295ed9 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期六, 12 七月 2025 14:18:35 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/util/DateUtils.java | 75 +++++++++++++++++++++++++++++++++++++ 1 files changed, 75 insertions(+), 0 deletions(-) diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/util/DateUtils.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/util/DateUtils.java index fd0d32f..b6dc8c5 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/util/DateUtils.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/util/DateUtils.java @@ -9,6 +9,7 @@ import java.time.DayOfWeek; import java.time.LocalDate; import java.time.ZoneId; +import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoField; import java.time.temporal.ChronoUnit; import java.util.*; @@ -1086,4 +1087,78 @@ return dateString; } + + /** + * 鑾峰彇鏈懆鐨勭涓�澶╂棩鏈燂紝 鏍煎紡涓猴細yyyy-MM-dd + * @return + */ + public static Date getFirstDayOfWeek(String date) { + // 灏� java.util.Date 杞崲涓� LocalDate + LocalDate localDate = LocalDate.parse(date); + + // 鑾峰彇鏈懆绗竴澶╋紙鍛ㄤ竴锛� + 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(String date) { + // 灏� java.util.Date 杞崲涓� LocalDate + LocalDate localDate = LocalDate.parse(date); + + // 鑾峰彇鏈懆绗竴澶╋紙鍛ㄦ棩锛� + 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); + } } -- Gitblit v1.9.3