From 270f724b990f5ee26b0238ceb3f89095552611fc Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期一, 16 十二月 2024 19:54:15 +0800 Subject: [PATCH] 小型微波设备管理接口 --- medicalWaste-common/src/main/java/com/sinata/common/utils/DateUtils.java | 64 +++++++++++++++++++++++++++++++ 1 files changed, 63 insertions(+), 1 deletions(-) diff --git a/medicalWaste-common/src/main/java/com/sinata/common/utils/DateUtils.java b/medicalWaste-common/src/main/java/com/sinata/common/utils/DateUtils.java index 916ca79..84c3047 100644 --- a/medicalWaste-common/src/main/java/com/sinata/common/utils/DateUtils.java +++ b/medicalWaste-common/src/main/java/com/sinata/common/utils/DateUtils.java @@ -1,5 +1,7 @@ package com.sinata.common.utils; +import org.apache.commons.lang3.time.DateFormatUtils; + import java.lang.management.ManagementFactory; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -8,8 +10,10 @@ import java.time.LocalTime; import java.time.ZoneId; import java.time.ZonedDateTime; +import java.util.ArrayList; +import java.util.Calendar; import java.util.Date; -import org.apache.commons.lang3.time.DateFormatUtils; +import java.util.List; /** * 时间工具类 @@ -188,4 +192,62 @@ ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault()); return Date.from(zdt.toInstant()); } + + /** + * 获取两个时间节点之间的月份列表 + * + * @param minDate + * @param maxDate + * @param type 1 = 日 2 = 月 3 = 年 + * @return + */ + public static List<String> getDayBetween(Date minDate, Date maxDate, Integer type) { + List<String> result = new ArrayList<String>(); + if (type == 3) {//年 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy");//格式化为年 + + Calendar min = Calendar.getInstance(); + Calendar max = Calendar.getInstance(); + min.setTime(minDate); + max.setTime(maxDate); + + Calendar curr = min; + max.add(Calendar.YEAR, 1); + while (curr.before(max)) { + result.add(sdf.format(curr.getTime())); + curr.add(Calendar.YEAR, 1); + } + } else if (type == 2) {//月 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");//格式化为年月 + + Calendar min = Calendar.getInstance(); + Calendar max = Calendar.getInstance(); + min.setTime(minDate); + max.setTime(maxDate); + + Calendar curr = min; + max.add(Calendar.MONTH, 1); + while (curr.before(max)) { + result.add(sdf.format(curr.getTime())); + curr.add(Calendar.MONTH, 1); + } + + } else {//日 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//格式化为年月日 + + Calendar min = Calendar.getInstance(); + Calendar max = Calendar.getInstance(); + min.setTime(minDate); + max.setTime(maxDate); + Calendar curr = min; + max.add(Calendar.DATE, 1); + while (curr.before(max)) { + result.add(sdf.format(curr.getTime())); + curr.add(Calendar.DATE, 1); + } + + } + return result; + } + } -- Gitblit v1.7.1