From ad31fa93abe524baec2216f9b2f203acb8cc2d6a Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期一, 29 七月 2024 11:48:35 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ycl-server/src/main/java/com/ycl/utils/DateUtils.java | 50 ++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 46 insertions(+), 4 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/utils/DateUtils.java b/ycl-server/src/main/java/com/ycl/utils/DateUtils.java index 8c4baf0..0be7f5f 100644 --- a/ycl-server/src/main/java/com/ycl/utils/DateUtils.java +++ b/ycl-server/src/main/java/com/ycl/utils/DateUtils.java @@ -2,15 +2,18 @@ import org.apache.commons.lang3.time.DateFormatUtils; +import javax.annotation.Nullable; import java.lang.management.ManagementFactory; +import java.sql.Timestamp; import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.*; import java.util.Date; +import java.util.Objects; /** * 鏃堕棿宸ュ叿绫� - * + * * @author ruoyi */ public class DateUtils extends org.apache.commons.lang3.time.DateUtils @@ -26,13 +29,13 @@ public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss"; private static String[] parsePatterns = { - "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM", + "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM", "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM", "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"}; /** * 鑾峰彇褰撳墠Date鍨嬫棩鏈� - * + * * @return Date() 褰撳墠鏃ユ湡 */ public static Date getNowDate() @@ -42,7 +45,7 @@ /** * 鑾峰彇褰撳墠鏃ユ湡, 榛樿鏍煎紡涓簓yyy-MM-dd - * + * * @return String */ public static String getDate() @@ -142,6 +145,14 @@ } /** + * 璁$畻鐩稿樊灏忔椂 + */ + public static int differentHoursByMillisecond(Date date1, Date date2) + { + return Math.abs((int) ((date2.getTime() - date1.getTime()) / (1000 * 3600))); + } + + /** * 璁$畻鏃堕棿宸� * * @param endDate 鏈�鍚庢椂闂� @@ -185,4 +196,35 @@ ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault()); return Date.from(zdt.toInstant()); } + + + /** + * 鑾峰彇鏌愬ぉ鐨勫紑濮嬫椂闂� + * + * @param date + * @return 2023-01-01 00:00:00 + */ + public static Date getDayStart(@Nullable Date date) { + if (Objects.isNull(date)) { + date = new Date(); + } + LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), ZoneId.of("GMT+8")); + LocalDateTime of = LocalDateTime.of(localDateTime.getYear(), localDateTime.getMonth(), localDateTime.getDayOfMonth(), 0, 0, 0); + return Timestamp.valueOf(of); + } + + /** + * 鑾峰彇鏌愬ぉ鐨勭粨鏉熸椂闂� + * + * @param date + * @return 2023-01-01 23:59:59 + */ + public static Date getDayEnd(@Nullable Date date) { + if (Objects.isNull(date)) { + date = new Date(); + } + LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault()); + LocalDateTime of = LocalDateTime.of(localDateTime.getYear(), localDateTime.getMonth(), localDateTime.getDayOfMonth(), 23, 59, 59); + return Timestamp.valueOf(of); + } } -- Gitblit v1.8.0