From 75f043dfa6660716364e66ee0b3cf99f44255686 Mon Sep 17 00:00:00 2001 From: DYL0109 <dn18191638832@163.com> Date: 星期三, 16 四月 2025 19:20:36 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/develop1.0' into dyl_dev --- zhitan-common/src/main/java/com/zhitan/common/utils/DateTimeUtil.java | 179 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 175 insertions(+), 4 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 248cb2f..93d8031 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 @@ -10,9 +10,7 @@ import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.Date; -import java.util.GregorianCalendar; +import java.util.*; /** * @Description: 鏃堕棿宸ュ叿绫� @@ -642,6 +640,35 @@ } /** + * 鏍规嵁鏃堕棿绫诲瀷鎶婂瓧绗︿覆杞垚瀵瑰簲鐨勬椂闂� + * timeType="HOUR",time="2025-02-01"锛岃繑鍥�"2025-02-01 01:00:00" + * timeType="DAY",time="2025-02"锛岃繑鍥�"2025-02-01 01:00:00" + * timeType="MONTH",time="2025"锛岃繑鍥�"2025-02-01 01:00:00" + * + * @param timeType 鏃堕棿绫诲瀷 + * @param time 鏃堕棿瀛楃涓� + * @return + */ + public static Date getTypeTime(String timeType, String time) { + Date dt = null; + timeType = StringUtil.ifEmptyOrNullReturnValue(timeType).toUpperCase(); + switch (timeType) { + case TimeTypeConst.TIME_TYPE_HOUR: + dt = toDateTime(time, COMMON_PATTERN_TO_DAY); + break; + case TimeTypeConst.TIME_TYPE_DAY: + dt = toDateTime(time, COMMON_PATTERN_TO_MONTH); + break; + case TimeTypeConst.TIME_TYPE_MONTH: + dt = toDateTime(time, COMMON_PATTERN_YEAR); + break; + default: + break; + } + return dt; + } + + /** * 鏍规嵁鏃堕棿绫诲瀷鎶婅繛缁殑鏃ユ湡瀛楃涓茶浆鎴愬搴旂殑鏃堕棿 锛�202303銆�20230303銆�2023030301銆�202303030101锛� * * @param timeType 鏃堕棿绫诲瀷 @@ -705,7 +732,7 @@ * @param val 璁$畻鍊� * @return */ - public static Date productionCycleCal(Date date, String cycleType,int val) { + public static Date productionCycleCal(Date date, String cycleType, int val) { Date momDate = date; switch (cycleType) { case TimeTypeConst.TIME_TYPE_HOUR: @@ -745,4 +772,148 @@ } return momDate; } + + /** + * 閫氳繃鏃堕棿绫诲瀷杩斿洖瀵瑰簲鐨勬椂闂磍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> getDateTimeList(String timeType, Date dataTime) { + + List<TypeTime> resultList = new ArrayList<>(); + 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)); + 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_DAY: + 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_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)); + 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; + } } -- Gitblit v1.9.3