From 3115d589ca3faaecda604e2a66fe193a93ba9cbc Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期一, 30 十二月 2024 21:42:57 +0800 Subject: [PATCH] 1.bug修改 2.出库超时预警定时任务 --- medicalWaste-common/src/main/java/com/sinata/common/utils/DateUtils.java | 79 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 78 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..24a0f3c 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; /** * 时间工具类 @@ -171,6 +175,21 @@ } /** + * 计算小时差 + * + * @param endDate + * @param startTime + * @return + */ + public static long timeDistanceHour(Date endDate, Date startTime) { + long nd = 1000 * 24 * 60 * 60; + long nh = 1000 * 60 * 60; + long diff = endDate.getTime() - startTime.getTime(); + long hour = diff % nd / nh; + return hour; + } + + /** * 增加 LocalDateTime ==> Date */ public static Date toDate(LocalDateTime temporalAccessor) @@ -188,4 +207,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