From 9c717849bee3d6cc25f29ad69a93a507e3de7d13 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期五, 27 十二月 2024 18:22:37 +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