From 76b630351b2db4b3dbc5c427f5d8edb5d488872c Mon Sep 17 00:00:00 2001
From: ChenJiaHe <763432473@qq.com>
Date: 星期五, 21 五月 2021 10:55:28 +0800
Subject: [PATCH] 月增加时间处理

---
 src/main/java/com/hx/util/DateUtil.java |  124 ++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 120 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/hx/util/DateUtil.java b/src/main/java/com/hx/util/DateUtil.java
index a3a1e74..60e7d19 100644
--- a/src/main/java/com/hx/util/DateUtil.java
+++ b/src/main/java/com/hx/util/DateUtil.java
@@ -216,8 +216,13 @@
      * @return
      * @throws Exception
      */
-    public static Date parseString(String str) throws Exception {
-        return Format_2.parse(str);
+    public static Date parseString(String str) {
+        try {
+            return Format_2.parse(str);
+        }catch (Exception e)
+        {
+            return null;
+        }
     }
 
     /**
@@ -228,10 +233,38 @@
      * @return
      * @throws Exception
      */
-    public static Date parseString(String str, String format) throws Exception {
+    public static Date parseString(String str, String format) {
         SimpleDateFormat sdf = new SimpleDateFormat(format);
-        return sdf.parse(str);
+        try{
+            return sdf.parse(str);
+        }catch (Exception e)
+        {
+            return null;
+        }
     }
+
+    /**瀛楃涓茶浆鎴愭椂闂磞yyy-MM-dd HH:mm:ss*/
+    public static Date parseString_1(String str)
+    {
+        try{
+            return  Format_3.parse(str);
+        }catch (Exception e)
+        {
+            return null;
+        }
+    }
+
+    /**瀛楃涓茶浆鎴愭椂闂磞yyy-MM-dd*/
+    public static Date parseString_2(String str)
+    {
+        try{
+            return Format_4.parse(str);
+        }catch (Exception e)
+        {
+            return null;
+        }
+    }
+
 
     /**鏃堕棿涓婂垎閽熷彔鍔�
      * @Author: ChenJiaHe
@@ -269,6 +302,32 @@
         Calendar c = Calendar.getInstance();
         c.setTime(dateTime);
         c.add(Calendar.DATE, dayNum);
+        return c.getTime();
+    }
+
+    /**鏃堕棿涓婃湀鏁板彔鍔�
+     * @Author: ChenJiaHe
+     * @param dateTime 鏃堕棿
+     * @param dayNum 澶╂暟
+     * @return
+     */
+    public static Date addMonth(Date dateTime,int dayNum){
+        Calendar c = Calendar.getInstance();
+        c.setTime(dateTime);
+        c.add(Calendar.MONTH, dayNum);
+        return c.getTime();
+    }
+
+    /**鏃堕棿涓婂勾鏁板彔鍔�
+     * @Author: ChenJiaHe
+     * @param dateTime 鏃堕棿
+     * @param dayNum 澶╂暟
+     * @return
+     */
+    public static Date addYear(Date dateTime,int dayNum){
+        Calendar c = Calendar.getInstance();
+        c.setTime(dateTime);
+        c.add(Calendar.YEAR, dayNum);
         return c.getTime();
     }
 
@@ -331,6 +390,42 @@
         return weekDays[w];
     }
 
+    /**
+     * endTime姣攕tartTime澶氱殑澶╂暟
+     * @param startTime 鏈�灏忔椂闂�
+     * @param endTime 鏈�澶ф椂闂�
+     * @return
+     */
+    public static Integer differDay(Date startTime,Date endTime){
+        Calendar cal1 = Calendar.getInstance();
+        cal1.setTime(startTime);
+
+        Calendar cal2 = Calendar.getInstance();
+        cal2.setTime(endTime);
+        int day1= cal1.get(Calendar.DAY_OF_YEAR);
+        int day2 = cal2.get(Calendar.DAY_OF_YEAR);
+
+        int year1 = cal1.get(Calendar.YEAR);
+        int year2 = cal2.get(Calendar.YEAR);
+        if(year1 != year2) { //鍚屼竴骞�
+            int timeDistance = 0 ;
+            for(int i = year1 ; i < year2 ; i ++) {
+                if(i%4==0 && i%100!=0 || i%400==0) {//闂板勾
+                    timeDistance += 366;
+                }
+                else {//涓嶆槸闂板勾
+                    timeDistance += 365;
+                }
+            }
+
+            return timeDistance + (day2-day1) ;
+        }
+        else { //涓嶅悓骞�
+            System.out.println("鍒ゆ柇day2 - day1 : " + (day2-day1));
+            return day2-day1;
+        }
+    }
+
     /**鍒ゆ柇涓や釜鏃堕棿鏄笉鏄悓涓�澶�*/
     public static boolean timeEqual(Date startTime,Date endTime){
        if(startTime == null || endTime==null){
@@ -363,4 +458,25 @@
         return str;
     }
 
+    /**
+     * 閽堝str鏍煎紡鐨勬椂闂村仛杞崲 鏍煎紡涓�"xx:xx"
+     * @param time  浼犲叆鐨勬椂闂�
+     * @return  杩斿洖鍒嗛挓濡傛灉10锛�25,鍒欒繑鍥�625
+     */
+    public static int getMinuteNum(String time){
+
+        if(!StringUtils.isEmpty(time))
+        {
+            String[] arr = time.split(":");
+            if(arr != null && arr.length == 2)
+            {
+                return Integer.parseInt(arr[0]) * 60 + Integer.parseInt(arr[1]);
+            }
+        }
+
+        return 0;
+
+
+    }
+
 }

--
Gitblit v1.8.0