From 891a0a7c52c25a31f318b7ff256aa45f0600512a Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期五, 09 八月 2024 17:37:22 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ycl-server/src/main/java/com/ycl/utils/DateUtils.java | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 59 insertions(+), 0 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 4ab7585..9988e85 100644 --- a/ycl-server/src/main/java/com/ycl/utils/DateUtils.java +++ b/ycl-server/src/main/java/com/ycl/utils/DateUtils.java @@ -8,6 +8,7 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.*; +import java.util.Calendar; import java.util.Date; import java.util.Objects; @@ -145,6 +146,14 @@ } /** + * 璁$畻鐩稿樊灏忔椂 + */ + public static int differentHoursByMillisecond(Date date1, Date date2) + { + return Math.abs((int) ((date2.getTime() - date1.getTime()) / (1000 * 3600))); + } + + /** * 璁$畻鏃堕棿宸� * * @param endDate 鏈�鍚庢椂闂� @@ -219,4 +228,54 @@ LocalDateTime of = LocalDateTime.of(localDateTime.getYear(), localDateTime.getMonth(), localDateTime.getDayOfMonth(), 23, 59, 59); return Timestamp.valueOf(of); } + + /** + * 鑾峰彇鏌愭湀寮�濮嬫棩鏈� + */ + public static String getMouthStart(@Nullable Date date) { + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); + Calendar c = Calendar.getInstance(); + c.add(Calendar.MONTH, 0); + c.set(Calendar.DAY_OF_MONTH,1); + return df.format(c.getTime()); + } + + /** + * 鑾峰彇鏌愭湀缁撴潫鏃ユ湡 + */ + public static String getMouthEnd(@Nullable Date date) { + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); + Calendar c = Calendar.getInstance(); + c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH)); + return df.format(c.getTime()); + } + /** + * 鑾峰彇鎸囧畾Calendar鐨勫搴﹀紑濮嬫棩鏈� + * @param calendar 鏃ュ巻 + * @return 瀛e害绗竴澶� + */ + public static Calendar getQuarterStart(Calendar calendar) { + Calendar quarterStart = (Calendar) calendar.clone(); + // 璁剧疆涓哄綋鍓嶅搴︾殑绗竴涓湀鐨勭涓�澶� + quarterStart.set(Calendar.DAY_OF_MONTH, 1); + int month = quarterStart.get(Calendar.MONTH); + quarterStart.set(Calendar.MONTH, (month / 3) * 3); + return quarterStart; + } + + /** + * 鑾峰彇鎸囧畾Calendar鐨勫搴︾粨鏉熸棩鏈� + * @param calendar 鏃ュ巻 + * @return 瀛e害鏈�鍚庝竴澶� + */ + public static Calendar getQuarterEnd(Calendar calendar) { + Calendar quarterEnd = getQuarterStart(calendar); + // 灏嗘湀浠借缃负涓嬩竴涓搴︾殑绗竴涓湀 + quarterEnd.add(Calendar.MONTH, 3); + // 璁剧疆涓洪偅涓湀鐨勬渶鍚庝竴澶� + quarterEnd.add(Calendar.DAY_OF_MONTH, -1); + return quarterEnd; + } + + } -- Gitblit v1.8.0