From d5bbd17a1428811da046ec3be3c0cc943a7ae059 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 17 六月 2026 15:13:20 +0800
Subject: [PATCH] ai数据自动生成
---
src/main/java/com/ruoyi/common/utils/DateUtils.java | 58 +++++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 49 insertions(+), 9 deletions(-)
diff --git a/src/main/java/com/ruoyi/common/utils/DateUtils.java b/src/main/java/com/ruoyi/common/utils/DateUtils.java
index 8ff95f1..f0b14f9 100644
--- a/src/main/java/com/ruoyi/common/utils/DateUtils.java
+++ b/src/main/java/com/ruoyi/common/utils/DateUtils.java
@@ -3,12 +3,13 @@
import java.lang.management.ManagementFactory;
import java.text.ParseException;
import java.text.SimpleDateFormat;
+import java.time.*;
import java.util.Date;
import org.apache.commons.lang3.time.DateFormatUtils;
/**
* 鏃堕棿宸ュ叿绫�
- *
+ *
* @author ruoyi
*/
public class DateUtils extends org.apache.commons.lang3.time.DateUtils
@@ -22,15 +23,15 @@
public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss";
public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
-
+
private static String[] parsePatterns = {
- "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM",
+ "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM",
"yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM",
"yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"};
/**
* 鑾峰彇褰撳墠Date鍨嬫棩鏈�
- *
+ *
* @return Date() 褰撳墠鏃ユ湡
*/
public static Date getNowDate()
@@ -38,9 +39,17 @@
return new Date();
}
+ public static LocalDate toLocalDate(Date date){
+ if(date == null) return LocalDate.now();
+ // java.sql.Date.toInstant() 浼氭姏 UnsupportedOperationException锛岄渶鍏堣浆涓� java.util.Date
+ Instant instant = new java.util.Date(date.getTime()).toInstant();
+ return instant.atZone(ZoneId.of("Asia/Shanghai"))
+ .toLocalDate();
+ }
+
/**
* 鑾峰彇褰撳墠鏃ユ湡, 榛樿鏍煎紡涓簓yyy-MM-dd
- *
+ *
* @return String
*/
public static String getDate()
@@ -121,7 +130,7 @@
return null;
}
}
-
+
/**
* 鑾峰彇鏈嶅姟鍣ㄥ惎鍔ㄦ椂闂�
*/
@@ -132,16 +141,28 @@
}
/**
- * 璁$畻涓や釜鏃堕棿宸�
+ * 璁$畻鐩稿樊澶╂暟
*/
- public static String getDatePoor(Date endDate, Date nowDate)
+ public static int differentDaysByMillisecond(Date date1, Date date2)
+ {
+ return Math.abs((int) ((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24)));
+ }
+
+ /**
+ * 璁$畻鏃堕棿宸�
+ *
+ * @param endDate 鏈�鍚庢椂闂�
+ * @param startTime 寮�濮嬫椂闂�
+ * @return 鏃堕棿宸紙澶�/灏忔椂/鍒嗛挓锛�
+ */
+ public static String timeDistance(Date endDate, Date startTime)
{
long nd = 1000 * 24 * 60 * 60;
long nh = 1000 * 60 * 60;
long nm = 1000 * 60;
// long ns = 1000;
// 鑾峰緱涓や釜鏃堕棿鐨勬绉掓椂闂村樊寮�
- long diff = endDate.getTime() - nowDate.getTime();
+ long diff = endDate.getTime() - startTime.getTime();
// 璁$畻宸灏戝ぉ
long day = diff / nd;
// 璁$畻宸灏戝皬鏃�
@@ -152,4 +173,23 @@
// long sec = diff % nd % nh % nm / ns;
return day + "澶�" + hour + "灏忔椂" + min + "鍒嗛挓";
}
+
+ /**
+ * 澧炲姞 LocalDateTime ==> Date
+ */
+ public static Date toDate(LocalDateTime temporalAccessor)
+ {
+ ZonedDateTime zdt = temporalAccessor.atZone(ZoneId.systemDefault());
+ return Date.from(zdt.toInstant());
+ }
+
+ /**
+ * 澧炲姞 LocalDate ==> Date
+ */
+ public static Date toDate(LocalDate temporalAccessor)
+ {
+ LocalDateTime localDateTime = LocalDateTime.of(temporalAccessor, LocalTime.of(0, 0, 0));
+ ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault());
+ return Date.from(zdt.toInstant());
+ }
}
--
Gitblit v1.9.3