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