From c279b0695286bea0e915981f4b8dc52abd039dd0 Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期四, 19 六月 2025 15:11:10 +0800
Subject: [PATCH] 抽奖bug修改
---
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/DateUtils.java | 69 ++++++++++++++++++++++++++++++----
1 files changed, 61 insertions(+), 8 deletions(-)
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/DateUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/DateUtils.java
index 571b7e2..71ea2c8 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/DateUtils.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/DateUtils.java
@@ -1,15 +1,13 @@
package com.ruoyi.common.core.utils;
+import org.apache.commons.lang3.time.DateFormatUtils;
+
import java.lang.management.ManagementFactory;
import java.text.ParseException;
import java.text.SimpleDateFormat;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.LocalTime;
-import java.time.ZoneId;
-import java.time.ZonedDateTime;
+import java.time.*;
+import java.util.Calendar;
import java.util.Date;
-import org.apache.commons.lang3.time.DateFormatUtils;
/**
* 时间工具类
@@ -32,6 +30,14 @@
"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"};
+
+ public static void main(String[] args) throws ParseException {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ Date start = sdf.parse("2021-10-01 10:00:00");
+ Date end = sdf.parse("2021-10-01 12:30:00");
+ String time = formatDuration(start,end);
+ System.out.println(time);
+ }
/**
* 获取当前Date型日期
@@ -70,7 +76,7 @@
public static final String dateTime(final Date date)
{
- return parseDateToStr(YYYY_MM_DD, date);
+ return parseDateToStr(YYYY_MM_DD_HH_MM_SS, date);
}
public static final String parseDateToStr(final String format, final Date date)
@@ -139,7 +145,7 @@
/**
* 计算时间差
*
- * @param endTime 最后时间
+ * @param endDate 最后时间
* @param startTime 开始时间
* @return 时间差(天/小时/分钟)
*/
@@ -162,6 +168,20 @@
return day + "天" + hour + "小时" + min + "分钟";
}
+ public static long diffTime(Date startTime, Date endTime){
+ // 获取Calendar实例
+ Calendar cal1 = Calendar.getInstance();
+ Calendar cal2 = Calendar.getInstance();
+ // 设置Calendar对象的时间
+ cal1.setTime(startTime);
+ cal2.setTime(endTime);
+ // 获取时间差
+ long milliseconds1 = cal1.getTimeInMillis();
+ long milliseconds2 = cal2.getTimeInMillis();
+ long diff = milliseconds2 - milliseconds1;
+ return diff;
+ }
+
/**
* 增加 LocalDateTime ==> Date
*/
@@ -180,4 +200,37 @@
ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault());
return Date.from(zdt.toInstant());
}
+
+ public static String formatDuration(Date start, Date end) {
+ long duration = end.getTime() - start.getTime();
+ long days = duration / (24 * 60 * 60 * 1000);
+ long hours = (duration % (24 * 60 * 60 * 1000)) / (60 * 60 * 1000);
+ long minutes = (duration % (60 * 60 * 1000)) / (60 * 1000);
+ long seconds = (duration % (60 * 1000)) / 1000;
+ StringBuilder sb = new StringBuilder();
+ if (days > 0) {
+ sb.append(days).append("天");
+ }
+ if (hours > 0) {
+ sb.append(hours).append("小时");
+ }
+ if (minutes > 0) {
+ sb.append(minutes).append("分");
+ }
+ if (seconds > 0) {
+ sb.append(seconds).append("秒");
+ }
+ return sb.toString();
+ }
+
+ public static Date getTodayStartTime() {
+ // 获取今天的日期
+ LocalDate today = LocalDate.now();
+
+ // 获取当天的开始时间(00:00:00)
+ LocalDateTime startOfDay = today.atStartOfDay();
+
+ // 转换为 Date 类型
+ return Date.from(startOfDay.atZone(ZoneId.systemDefault()).toInstant());
+ }
}
--
Gitblit v1.7.1