From 60e43e1bc0785a7151fd050b20b04f2047df2727 Mon Sep 17 00:00:00 2001 From: Lius <Lius2225@163.com> Date: 星期六, 12 七月 2025 10:18:14 +0800 Subject: [PATCH] 点检添加周报校验 --- 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