From 16d77a440e12c3de262c48c79af5fc0494dd87b7 Mon Sep 17 00:00:00 2001
From: ustcyc <yincun@163.com>
Date: 星期五, 11 四月 2025 18:42:19 +0800
Subject: [PATCH] Merge pull request #52 from zhitan-cloud/zhangjw

---
 zhitan-common/src/main/java/com/zhitan/common/utils/DateTimeUtil.java |   80 ++++++++++++++++++++++++++++++++++++++-
 1 files changed, 77 insertions(+), 3 deletions(-)

diff --git a/zhitan-common/src/main/java/com/zhitan/common/utils/DateTimeUtil.java b/zhitan-common/src/main/java/com/zhitan/common/utils/DateTimeUtil.java
index c359f6a..d953617 100644
--- a/zhitan-common/src/main/java/com/zhitan/common/utils/DateTimeUtil.java
+++ b/zhitan-common/src/main/java/com/zhitan/common/utils/DateTimeUtil.java
@@ -14,7 +14,7 @@
 
 /**
  * @Description: 鏃堕棿宸ュ叿绫�
- * @author: yxw
+ * @author ZhiTan
  * @date: 2022骞�02鏈�02鏃� 12:23
  */
 @Slf4j
@@ -803,10 +803,10 @@
     public static List<TypeTime> getDateTimeList(String timeType, Date dataTime) {
 
         List<TypeTime> resultList = new ArrayList<>();
-
-        Date beginTime = DateUtil.beginOfDay(dataTime);
+        Date beginTime;
         switch (timeType) {
             case TimeTypeConst.TIME_TYPE_HOUR:
+                beginTime = DateUtil.beginOfDay(dataTime);
                 for (int i = 1; i <= 24; i++) {
                     TypeTime typeTime = new TypeTime();
                     typeTime.setDataTime(DateUtil.format(beginTime, COMMON_PATTERN));
@@ -818,6 +818,7 @@
                 }
                 break;
             case TimeTypeConst.TIME_TYPE_DAY:
+                beginTime = DateUtil.beginOfMonth(dataTime);
                 for (int i = 1; i <= 31; i++) {
                     TypeTime typeTime = new TypeTime();
                     typeTime.setDataTime(DateUtil.format(beginTime, COMMON_PATTERN));
@@ -829,6 +830,79 @@
                 }
                 break;
             case TimeTypeConst.TIME_TYPE_MONTH:
+                beginTime = DateUtil.beginOfYear(dataTime);
+                for (int i = 1; i <= 12; i++) {
+                    TypeTime typeTime = new TypeTime();
+                    typeTime.setDataTime(DateUtil.format(beginTime, COMMON_PATTERN));
+                    typeTime.setTimeCode(CommonConst.WORD_M + DateUtil.format(beginTime, COMMON_PATTERN_MONTH));
+                    typeTime.setDateTime(beginTime);
+                    typeTime.setValue("value" + i);
+                    resultList.add(typeTime);
+                    beginTime = addMonths(beginTime, 1);
+                }
+                break;
+        }
+        return resultList;
+    }
+
+    /**
+     * 閫氳繃鏃堕棿绫诲瀷杩斿洖瀵瑰簲鐨勬椂闂磍ist
+     * <p>
+     * 鍙傛暟锛�
+     * timeType="YEAR",dataTime="2025-01-01 00:00:00"
+     * timeType="MONTH",dataTime="2025-01-01 00:00:00"
+     * timeType="DAY",dataTime="2025-01-01 00:00:00"
+     * 杩斿洖鏍煎紡锛�
+     * [
+     * {"datatime":"2025-01-01 00:00:00","value":"value1"},
+     * {"datatime":"2025-02-01 00:00:00","value":"value2"},
+     * {"datatime":"2025-03-01 00:00:00","value":"value3"},
+     * {"datatime":"2025-04-01 00:00:00","value":"value4"},
+     * {"datatime":"2025-05-01 00:00:00","value":"value5"},
+     * {"datatime":"2025-06-01 00:00:00","value":"value6"},
+     * {"datatime":"2025-07-01 00:00:00","value":"value7"},
+     * {"datatime":"2025-08-01 00:00:00","value":"value8"},
+     * {"datatime":"2025-09-01 00:00:00","value":"value9"},
+     * {"datatime":"2025-10-01 00:00:00","value":"value10"},
+     * {"datatime":"2025-11-01 00:00:00","value":"value11"},
+     * {"datatime":"2025-12-01 00:00:00","value":"value12"}
+     * ]
+     *
+     * @param timeType
+     * @param dataTime
+     * @return
+     */
+    public static List<TypeTime> getDateTimeListSame(String timeType, Date dataTime) {
+
+        List<TypeTime> resultList = new ArrayList<>();
+        Date beginTime;
+        switch (timeType) {
+            case TimeTypeConst.TIME_TYPE_DAY:
+                beginTime = DateUtil.beginOfDay(dataTime);
+                for (int i = 1; i <= 24; i++) {
+                    TypeTime typeTime = new TypeTime();
+                    typeTime.setDataTime(DateUtil.format(beginTime, COMMON_PATTERN));
+                    typeTime.setTimeCode(CommonConst.WORD_H + DateUtil.format(beginTime, COMMON_PATTERN_HOUR));
+                    typeTime.setDateTime(beginTime);
+                    typeTime.setValue("value" + i);
+                    resultList.add(typeTime);
+                    beginTime = addHours(beginTime, 1);
+                }
+                break;
+            case TimeTypeConst.TIME_TYPE_MONTH:
+                beginTime = DateUtil.beginOfMonth(dataTime);
+                for (int i = 1; i <= 31; i++) {
+                    TypeTime typeTime = new TypeTime();
+                    typeTime.setDataTime(DateUtil.format(beginTime, COMMON_PATTERN));
+                    typeTime.setTimeCode(CommonConst.WORD_D + DateUtil.format(beginTime, COMMON_PATTERN_DAY));
+                    typeTime.setDateTime(beginTime);
+                    typeTime.setValue("value" + i);
+                    resultList.add(typeTime);
+                    beginTime = addDays(beginTime, 1);
+                }
+                break;
+            case TimeTypeConst.TIME_TYPE_YEAR:
+                beginTime = DateUtil.beginOfYear(dataTime);
                 for (int i = 1; i <= 12; i++) {
                     TypeTime typeTime = new TypeTime();
                     typeTime.setDataTime(DateUtil.format(beginTime, COMMON_PATTERN));

--
Gitblit v1.9.3