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