From 078a5c4ced367fdbd5a16c27c8bada6e44e632d5 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 09 十月 2025 16:00:33 +0800
Subject: [PATCH] 最新版本541200007

---
 server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java |  234 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 231 insertions(+), 3 deletions(-)

diff --git a/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java b/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
index afb3039..3729091 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
@@ -672,6 +672,27 @@
             throw e;
         }
     }
+    public static String getTimeStrBySecond(Long seconds)  {
+        String returnTime ="0鏃�0鍒�0绉�";
+        long longHour = 0;
+        long longMinu = 0;
+        long longSec =seconds ==null?0:seconds;
+        try {
+            if (longSec == 0) {
+                returnTime = "0鏃�0鍒�0绉�";
+                return returnTime;
+            }
+            longHour = longSec / 3600; // 鍙栧緱灏忔椂鏁�
+            longSec = longSec % 3600; // 鍙栧緱浣欎笅鐨勭
+            longMinu = longSec / 60; // 鍙栧緱鍒嗘暟
+            longSec = longSec % 60; // 鍙栧緱浣欎笅鐨勭
+            returnTime = longHour + "鏃�" + longMinu + "鍒�" + longSec + "绉�";
+            return returnTime;
+        } catch (Exception e) {
+              e.printStackTrace();
+        }
+        return returnTime;
+    }
 
     /**
      * Descrption:鍙栧緱褰撳墠鏃ユ湡,鏍煎紡涓�:yyyy-MM-dd HH:mm:ss
@@ -1712,11 +1733,22 @@
     }
     public static Date getFirstThisYearDate() {
         try {
-            return sdfShort.parse( getNowShortDate().substring(0, 4) + "0101");
+            return sdfLong.parse( getNowShortDate().substring(0, 4) + "-01-01");
         } catch (Exception e) {
             return null;
         }
     }
+
+    public static Date getFirstThisMonthDate() {
+        try {
+            return sdfLong.parse( getNowFormateDate().substring(0, 7) + "-01");
+        } catch (Exception e) {
+            return null;
+        }
+    }
+
+
+
     public static String getFirstDayCurrentMonth() {
         try {
             return getDateLong(new Date()).substring(0, 7) + "-01";
@@ -2469,6 +2501,16 @@
             return null;
         }
     }
+    public static Date getDateFromShortString(String strDate) {
+        if (StringUtils.isEmpty(strDate)) {
+          return  null;
+        }
+        try {
+            return sdfLong.parse(strDate);
+        } catch (Exception ex) {
+            return null;
+        }
+    }
 
 
     // -----------------------------------------------------------------------
@@ -2910,9 +2952,10 @@
 //            Date date1 = getISO8601DateByStr("2024-06-14T08:46:36.014+08:00");
 //            System.out.println(DateUtil.afterMinutesDate(-5));
 
+            System.out.println(DateUtil.getFirstThisMonthDate());
 
-            System.out.println(DateUtil.getBeforMonthStr(new Date(),1));
-            System.out.println(DateUtil.getBeforMonthStr(new Date(),12));
+//            System.out.println(getPlusTime2(DateUtil.addMonthToDate(new Date(),-1)));
+//            System.out.println(DateUtil.getBeforMonthStr(new Date(),12));
 
 //            List<Date> list =getThisMonthDateList();
 //            for(Date d :list){
@@ -3405,4 +3448,189 @@
         return dateBeforeDay.toString();
     }
 
+
+    /**
+     * 鑾峰彇X骞村悗鐨勬棩鏈�
+     * @param date
+     * @param beforMonths 涓嬪勾 -1  涓婂勾 1
+     * @return
+     */
+    public static String getBeforYear(Date date,Integer beforMonths){
+        ZonedDateTime zonedDateTime = date.toInstant().atZone(ZoneId.systemDefault());
+        // 杞崲涓簀ava.time.LocalDate,璁$畻x澶╃殑鏃ユ湡
+        LocalDate dateBeforeDay = zonedDateTime.toLocalDate().minusYears(beforMonths);
+        return dateBeforeDay.toString();
+    }
+
+
+
+    // 鑾峰彇鏈懆鐨勫紑濮嬫椂闂�
+    public static Date getBeginDayOfWeek(int addYears) {
+        Date date = new Date();
+        if (date == null) {
+            return null;
+        }
+        Calendar cal = Calendar.getInstance();
+        cal.setTime(date);
+        cal.set(Calendar.YEAR,getNowYearNum()+addYears);
+        int dayofweek = cal.get(Calendar.DAY_OF_WEEK);
+        if (dayofweek == 1) {
+            dayofweek += 7;
+        }
+        cal.add(Calendar.DATE, 2 - dayofweek);
+        return getDayStartTime(cal.getTime());
+    }
+
+    // 鑾峰彇鏈懆鐨勭粨鏉熸椂闂�
+    public static Date getEndDayOfWeek(int addYears) {
+        Calendar cal = Calendar.getInstance();
+        cal.setTime(getBeginDayOfWeek(addYears));
+        cal.add(Calendar.DAY_OF_WEEK, 6);
+        Date weekEndSta = cal.getTime();
+        return getDayEndTime(weekEndSta);
+    }
+
+    // 鑾峰彇涓婂懆鐨勫紑濮嬫椂闂�
+    public static Date getBeginDayOfLastWeek() {
+        Date date = new Date();
+        if (date == null) {
+            return null;
+        }
+        Calendar cal = Calendar.getInstance();
+        cal.setTime(date);
+        cal.set(Calendar.YEAR,getNowYearNum());
+        int dayofweek = cal.get(Calendar.DAY_OF_WEEK);
+        if (dayofweek == 1) {
+            dayofweek += 7;
+        }
+        cal.add(Calendar.DATE, 2 - dayofweek - 7);
+        return getDayStartTime(cal.getTime());
+    }
+
+    // 鑾峰彇涓婂懆鐨勭粨鏉熸椂闂�
+    public static Date getEndDayOfLastWeek() {
+        Calendar cal = Calendar.getInstance();
+        cal.setTime(getBeginDayOfLastWeek());
+        cal.add(Calendar.DAY_OF_WEEK, 6);
+        Date weekEndSta = cal.getTime();
+        return getDayEndTime(weekEndSta);
+    }
+
+    // 鑾峰彇鏈湀鐨勫紑濮嬫椂闂�
+    public static Date getBeginDayOfMonth(int addYears) {
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(getNowYearNum()+addYears, getNowMonthNum() - 1, 1);
+        return getDayStartTime(calendar.getTime());
+    }
+
+    // 鑾峰彇鏈湀鐨勭粨鏉熸椂闂�
+    public static Date getEndDayOfMonth(int addYears) {
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(getNowYearNum()+addYears, getNowMonthNum() - 1, 1);
+        int day = calendar.getActualMaximum(5);
+        calendar.set(getNowYearNum()+addYears, getNowMonthNum() - 1, day);
+        return getDayEndTime(calendar.getTime());
+    }
+
+    // 鑾峰彇涓婃湀鐨勫紑濮嬫椂闂�
+    public static Date getBeginDayOfLastMonth() {
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(getNowYearNum(), getNowMonthNum() - 2, 1);
+        return getDayStartTime(calendar.getTime());
+    }
+
+    // 鑾峰彇涓婃湀鐨勭粨鏉熸椂闂�
+    public static Date getEndDayOfLastMonth() {
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(getNowYearNum(), getNowMonthNum() - 2, 1);
+        int day = calendar.getActualMaximum(5);
+        calendar.set(getNowYearNum(), getNowMonthNum() - 2, day);
+        return getDayEndTime(calendar.getTime());
+    }
+
+    // 鑾峰彇鏈勾鐨勫紑濮嬫椂闂�
+    public static Date getBeginDayOfYear(int addYears) {
+        Calendar cal = Calendar.getInstance();
+        cal.set(Calendar.YEAR, getNowYearNum()+addYears);
+        cal.set(Calendar.MONTH, Calendar.JANUARY);
+        cal.set(Calendar.DATE, 1);
+        return getDayStartTime(cal.getTime());
+    }
+
+    // 鑾峰彇鏈勾鐨勭粨鏉熸椂闂�
+    public static java.util.Date getEndDayOfYear(int addYears){
+        Calendar cal = Calendar.getInstance();
+        cal.set(Calendar.YEAR, getNowYearNum()+addYears);
+        cal.set(Calendar.MONTH, Calendar.DECEMBER);
+        cal.set(Calendar.DATE, 31);
+        return getDayEndTime(cal.getTime());
+    }
+
+    // 鑾峰彇褰撳ぉ鐨勫紑濮嬫椂闂�
+    public static java.util.Date getDayBegin() {
+        Calendar cal = new GregorianCalendar();
+        cal.set(Calendar.HOUR_OF_DAY, 0);
+        cal.set(Calendar.MINUTE, 0);
+        cal.set(Calendar.SECOND, 0);
+        cal.set(Calendar.MILLISECOND, 0);
+        return cal.getTime();
+    }
+
+    // 鑾峰彇褰撳ぉ鐨勭粨鏉熸椂闂�
+    public static java.util.Date getDayEnd() {
+        Calendar cal = new GregorianCalendar();
+        cal.set(Calendar.HOUR_OF_DAY, 23);
+        cal.set(Calendar.MINUTE, 59);
+        cal.set(Calendar.SECOND, 59);
+        return cal.getTime();
+    }
+
+
+    // 鑾峰彇鏌愪釜鏃ユ湡鐨勫紑濮嬫椂闂�
+    public static Timestamp getDayStartTime(Date d) {
+        Calendar calendar = Calendar.getInstance();
+        if (null != d)
+            calendar.setTime(d);
+        calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH),
+                calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
+        calendar.set(Calendar.MILLISECOND, 0);
+        return new Timestamp(calendar.getTimeInMillis());
+    }
+
+    // 鑾峰彇鏌愪釜鏃ユ湡鐨勭粨鏉熸椂闂�
+    public static Timestamp getDayEndTime(Date d) {
+        Calendar calendar = Calendar.getInstance();
+        if (null != d)
+            calendar.setTime(d);
+        calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH),
+                calendar.get(Calendar.DAY_OF_MONTH), 23, 59, 59);
+        calendar.set(Calendar.MILLISECOND, 999);
+        return new Timestamp(calendar.getTimeInMillis());
+    }
+
+
+    // 鑾峰彇浠婂勾鏄摢涓�骞�
+    public static Integer getNowYearNum() {
+        Date date = new Date();
+        GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();
+        gc.setTime(date);
+        return Integer.valueOf(gc.get(1));
+    }
+
+    // 鑾峰彇鏈湀鏄摢涓�鏈�
+    public static int getNowMonthNum() {
+        Date date = new Date();
+        GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();
+        gc.setTime(date);
+        return gc.get(2) + 1;
+    }
+
+    public static int getNowDayNum(){
+        // 鑾峰彇Calendar瀹炰緥
+        Calendar calendar = Calendar.getInstance();
+        return calendar.get(Calendar.DAY_OF_MONTH);
+    }
+
+
+
 }
\ No newline at end of file

--
Gitblit v1.9.3