From b8c69ce26b3bb9462b1e0578f9e119c9772f9126 Mon Sep 17 00:00:00 2001
From: cmg <527198563@qq.com>
Date: 星期一, 27 五月 2024 14:33:22 +0800
Subject: [PATCH] 0527芙艾合并更新

---
 src/main/java/com/hx/util/DateUtil.java |   74 +++++++++++++++++++++++++++++++-----
 1 files changed, 63 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/hx/util/DateUtil.java b/src/main/java/com/hx/util/DateUtil.java
index f54bcda..33b8d66 100644
--- a/src/main/java/com/hx/util/DateUtil.java
+++ b/src/main/java/com/hx/util/DateUtil.java
@@ -549,6 +549,7 @@
         calendar.set(Calendar.HOUR_OF_DAY, 0);
         calendar.set(Calendar.MINUTE, 0);
         calendar.set(Calendar.SECOND, 0);
+        calendar.set(Calendar.MILLISECOND,0);
         return calendar.getTime();
     }
 
@@ -572,9 +573,25 @@
     /**
      * 鑾峰彇褰撳墠鏈堢殑缁撴潫鏃堕棿
      * @param date 鐐瑰墠鏃堕棿
-     * @return 杩斿洖鏃堕棿 鏍煎紡yyyy-MM-dd 23:59:59
+     * @return 杩斿洖鏃堕棿 鏍煎紡yyyy-MM-dd 23:59:59999
      */
     public static Date getMonthEnd(Date date) {
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
+        calendar.set(Calendar.HOUR_OF_DAY, 23);
+        calendar.set(Calendar.MINUTE, 59);
+        calendar.set(Calendar.SECOND, 59);
+        calendar.set(Calendar.MILLISECOND,999);
+        return calendar.getTime();
+    }
+
+    /**
+     * 鑾峰彇褰撳墠鏈堢殑缁撴潫鏃堕棿锛屾病鏈夋绉�
+     * @param date 鐐瑰墠鏃堕棿
+     * @return 杩斿洖鏃堕棿 鏍煎紡yyyy-MM-dd 23:59:59
+     */
+    public static Date getMonthEndNoMillisecond(Date date) {
         Calendar calendar = Calendar.getInstance();
         calendar.setTime(date);
         calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
@@ -613,15 +630,33 @@
         calendar.set(Calendar.HOUR_OF_DAY, 0);
         calendar.set(Calendar.MINUTE, 0);
         calendar.set(Calendar.SECOND, 0);
+        calendar.set(Calendar.MILLISECOND,0);
         return calendar.getTime();
     }
 
     /**
      * 鑾峰彇褰撳墠骞寸殑缁撴潫鏃堕棿
      * @param time 鏃堕棿
-     * @return 杩斿洖鏃堕棿 鏍煎紡yyyy-MM-dd 00:00:00
+     * @return 杩斿洖鏃堕棿 鏍煎紡yyyy-MM-dd 23:59:59999
      */
     public static Date getYearEnd(Date time) {
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(time);
+        calendar.set(Calendar.MONTH, 11);
+        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DATE));
+        calendar.set(Calendar.HOUR_OF_DAY, 23);
+        calendar.set(Calendar.MINUTE, 59);
+        calendar.set(Calendar.SECOND, 59);
+        calendar.set(Calendar.MILLISECOND,999);
+        return calendar.getTime();
+    }
+
+    /**
+     * 鑾峰彇褰撳墠骞寸殑缁撴潫鏃堕棿锛屾病鏈夋绉�
+     * @param time 鏃堕棿
+     * @return 杩斿洖鏃堕棿 鏍煎紡yyyy-MM-dd 23:59:59
+     */
+    public static Date getYearEndNoMillisecond(Date time) {
         Calendar calendar = Calendar.getInstance();
         calendar.setTime(time);
         calendar.set(Calendar.MONTH, 11);
@@ -668,13 +703,27 @@
         calendar.set(Calendar.HOUR_OF_DAY, 0);
         calendar.set(Calendar.MINUTE, 0);
         calendar.set(Calendar.SECOND, 0);
+        calendar.set(Calendar.MILLISECOND, 0);
         return calendar.getTime();
     }
 
     /**杩欏ぉ鐨勬渶鍚庢椂闂�
-     * 鏃ユ湡2000-01-01鍙�2000-01-01 23:59:59
+     * 鏃ユ湡2000-01-01鍙�2000-01-01 23:59:59999
      */
     public static Date dayToEndDate(Date date) {
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+        calendar.set(Calendar.HOUR_OF_DAY, 23);
+        calendar.set(Calendar.MINUTE, 59);
+        calendar.set(Calendar.SECOND, 59);
+        calendar.set(Calendar.MILLISECOND, 999);
+        return calendar.getTime();
+    }
+
+    /**杩欏ぉ鐨勬渶鍚庢椂闂达紝娌℃湁姣
+     * 鏃ユ湡2000-01-01鍙�2000-01-01 23:59:59
+     */
+    public static Date dayToEndDateNoMillisecond(Date date) {
         Calendar calendar = Calendar.getInstance();
         calendar.setTime(date);
         calendar.set(Calendar.HOUR_OF_DAY, 23);
@@ -816,16 +865,19 @@
 
     /**
      * 鑾峰彇鏌愬ぉ缁撴潫绉掓暟
-     * @param startTime
+     * @param dateTime      鏃ユ湡
+     * @param lateSecond    寤惰繜绉掓暟
      * @return
      */
-    public long todayEndSecond(Date startTime) {
-        if(startTime == null){
-            startTime = new Date();
+    public static long todayEndSecond(Date dateTime, Long lateSecond) {
+        if(dateTime == null){
+            dateTime = new Date();
         }
-        Date endTime = DateUtil.dayToEndDate(startTime);
-        //澶氬姞10绉�
-        return differSecond(startTime, endTime) + 10L;
+        if(lateSecond == null){
+            lateSecond = 0L;
+        }
+        Date endTime = DateUtil.dayToEndDate(dateTime);
+        return differSecond(dateTime, endTime) + lateSecond;
     }
 
     /**
@@ -834,7 +886,7 @@
      * @param endTime   缁撴潫鏃堕棿
      * @return
      */
-    public long differSecond(Date startTime, Date endTime) {
+    public static long differSecond(Date startTime, Date endTime) {
         if(startTime == null || endTime == null){
             return 0L;
         }

--
Gitblit v1.8.0