From 3b0516a2959e25576e4f3fda697a3b025d06c8c9 Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期二, 24 六月 2025 14:09:07 +0800 Subject: [PATCH] 每日录像可用指标添加日志,修改大屏为查看当前月平均 --- ycl-server/src/main/java/com/ycl/utils/DateUtils.java | 85 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 85 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..faa53de 100644 --- a/ycl-server/src/main/java/com/ycl/utils/DateUtils.java +++ b/ycl-server/src/main/java/com/ycl/utils/DateUtils.java @@ -1,6 +1,7 @@ package com.ycl.utils; import org.apache.commons.lang3.time.DateFormatUtils; +import org.glassfish.jaxb.core.v2.TODO; import javax.annotation.Nullable; import java.lang.management.ManagementFactory; @@ -8,6 +9,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 +147,14 @@ } /** + * 璁$畻鐩稿樊灏忔椂 + */ + public static int differentHoursByMillisecond(Date date1, Date date2) + { + return Math.abs((int) ((date2.getTime() - date1.getTime()) / (1000 * 3600))); + } + + /** * 璁$畻鏃堕棿宸� * * @param endDate 鏈�鍚庢椂闂� @@ -219,4 +229,79 @@ 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(); + if (date != null) { + c.setTime(date); // 濡傛灉date涓嶄负null锛屽垯璁剧疆Calendar鐨勬棩鏈熶负date + } + 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(); + if (date != null) { + c.setTime(date); // 濡傛灉date涓嶄负null锛屽垯璁剧疆Calendar鐨勬棩鏈熶负date + } + 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; + } + + + public static Date getDay(int year,int month,int day) { + // 鑾峰彇Calendar瀹炰緥锛岄粯璁や娇鐢ㄥ綋鍓嶆椂鍖哄拰璇█鐜 + Calendar calendar = Calendar.getInstance(); + // 娓呴櫎Calendar涓殑鎵�鏈夊瓧娈靛�硷紝浠ラ伩鍏嶅畠浠褰撳墠鏃ユ湡鏃堕棿鏈夊奖鍝� + calendar.clear(); + // 璁剧疆骞翠唤銆佹湀浠斤紙娉ㄦ剰锛氭湀浠芥槸浠�0寮�濮嬬殑锛屾墍浠�8鏈堟槸7锛夈�佹棩鏈� + calendar.set(Calendar.YEAR, year); + calendar.set(Calendar.MONTH, month); + calendar.set(Calendar.DAY_OF_MONTH, day); + // Calendar.getTime()鏂规硶杩斿洖涓�涓〃绀烘Calendar鏃堕棿鍊肩殑Date瀵硅薄 + Date date = calendar.getTime(); + return date; + } + public static Integer getDayOfMonth(Date date) { + // 鍒涘缓涓�涓狢alendar瀵硅薄骞惰缃负褰撳墠鏃ユ湡鍜屾椂闂� + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + // 鑾峰彇褰撳墠鏃ユ湡鏄綋鏈堜腑鐨勭鍑犲ぉ + return calendar.get(Calendar.DAY_OF_MONTH); + } } -- Gitblit v1.8.0