From ce64e667815b39efdc2f8bd52be0d43d49db8d84 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期日, 17 七月 2022 00:06:29 +0800
Subject: [PATCH] 优化小区位置

---
 java110-utils/src/main/java/com/java110/utils/util/DateUtil.java |   74 +++++++++++++++++++++++++++++++++++-
 1 files changed, 71 insertions(+), 3 deletions(-)

diff --git a/java110-utils/src/main/java/com/java110/utils/util/DateUtil.java b/java110-utils/src/main/java/com/java110/utils/util/DateUtil.java
old mode 100644
new mode 100755
index e431476..7e032c0
--- a/java110-utils/src/main/java/com/java110/utils/util/DateUtil.java
+++ b/java110-utils/src/main/java/com/java110/utils/util/DateUtil.java
@@ -32,6 +32,7 @@
     public static final String DATE_FORMATE_STRING_J = "yyyyMMddHHmmss.SSS";
     public static final String DATE_FORMATE_STRING_K = "yyyyMMddHHmmssSSS";
     public static final String DATE_FORMATE_STRING_L = "MMdd";
+    public static final String DATE_FORMATE_STRING_M = "yyyyMM";
 
     static {
         formats.put("yyyyMMddHHmmss", new SimpleDateFormat("yyyyMMddHHmmss"));
@@ -47,6 +48,7 @@
         formats.put("yyyyMMddHHmmss.SSS", new SimpleDateFormat("yyyyMMddHHmmss.SSS"));
         formats.put("yyyyMMddHHmmssSSS", new SimpleDateFormat("yyyyMMddHHmmssSSS"));
         formats.put("MMdd", new SimpleDateFormat("MMdd"));
+        formats.put("yyyyMM", new SimpleDateFormat("yyyyMM"));
     }
 
 
@@ -350,15 +352,23 @@
     public static Date getNextMonthFirstDate() {
         Calendar calendar = Calendar.getInstance();
         calendar.set(Calendar.DAY_OF_MONTH, 1);
+        calendar.set(Calendar.HOUR_OF_DAY, 0);
+        calendar.set(Calendar.MINUTE, 0);
+        calendar.set(Calendar.SECOND, 0);
         calendar.add(Calendar.MONTH, 1);
         return calendar.getTime();
     }
 
     public static Date getFirstDate() {
-        Calendar calendar = Calendar.getInstance();
-        calendar.set(Calendar.DAY_OF_MONTH, 1);
-        return calendar.getTime();
+        Calendar curDateCal = Calendar.getInstance();
+        curDateCal.set(Calendar.DAY_OF_MONTH, 1);
+        curDateCal.set(Calendar.HOUR_OF_DAY, 0);
+        curDateCal.set(Calendar.MINUTE, 0);
+        curDateCal.set(Calendar.SECOND, 0);
+        Date curDate = curDateCal.getTime();
+        return curDate;
     }
+
 
     public static String getNextMonthFirstDay(String fmt) {
         String returndate = "";
@@ -405,6 +415,23 @@
         return maxDate;
     }
 
+    public static void main(String[] args) throws ParseException {
+
+//        SimpleDateFormat sf = new SimpleDateFormat(DateUtil.DATE_FORMATE_STRING_A);
+//        Calendar c = Calendar.getInstance();
+//        c.setTime(DateUtil.getDateFromString("2021-12-03",DateUtil.DATE_FORMATE_STRING_A));
+//        c.add(Calendar.DAY_OF_MONTH, 125);
+//        System.out.println("澧炲姞涓�澶╁悗鏃ユ湡:"+sf.format(c.getTime()));
+        System.out.println( "2021-12-07".compareTo(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_B)));
+    }
+
+    public static String getAddDayString(Date date,String pattern,int days) throws ParseException {
+        SimpleDateFormat sf = new SimpleDateFormat(pattern);
+        Calendar c = Calendar.getInstance();
+        c.setTime(date);
+        c.add(Calendar.DAY_OF_MONTH, days);
+        return sf.format(c.getTime());
+    }
 
     /**
      * 鍦ㄧ粰瀹氱殑鏃ユ湡鍔犱笂鎴栧噺鍘绘寚瀹氭湀浠藉悗鐨勬棩鏈�
@@ -421,6 +448,20 @@
         return c.getTime();
     }
 
+    /**
+     * 鍦ㄧ粰瀹氱殑鏃ユ湡鍔犱笂鎴栧噺鍘绘寚瀹氬ぉ鏁板悗鐨勬棩鏈�
+     *
+     * @param sourceDate 鍘熷鏃堕棿
+     * @param day        瑕佽皟鏁寸殑鏈堜唤锛屽悜鍓嶄负璐熸暟锛屽悜鍚庝负姝f暟
+     * @return
+     */
+    public static Date stepDay(Date sourceDate, int day) {
+        Calendar c = Calendar.getInstance();
+        c.setTime(sourceDate);
+        c.add(Calendar.DATE, day);
+        return c.getTime();
+    }
+
     public static String dateTimeToDate(String dateTime) {
         String dateStr = "";
         try {
@@ -432,6 +473,7 @@
 
         return dateStr;
     }
+
 
     public static int getYear() {
         Date date = getCurrentDate();
@@ -470,4 +512,30 @@
             return false;
         }
     }
+
+    //鑾峰彇涓や釜鏃ユ湡涔嬮棿鐨勫ぉ鏁�
+    public static int daysBetween(Date now, Date returnDate) {
+        Calendar cNow = Calendar.getInstance();
+        Calendar cReturnDate = Calendar.getInstance();
+        cNow.setTime(now);
+        cReturnDate.setTime(returnDate);
+        setTimeToMidnight(cNow);
+        setTimeToMidnight(cReturnDate);
+        long todayMs = cNow.getTimeInMillis();
+        long returnMs = cReturnDate.getTimeInMillis();
+        long intervalMs = todayMs - returnMs;
+        return millisecondsToDays(intervalMs);
+    }
+
+    //鑾峰彇涓や釜鏃ユ湡涔嬮棿鐨勬绉掓暟
+    private static void setTimeToMidnight(Calendar calendar) {
+        calendar.set(Calendar.HOUR_OF_DAY, 0);
+        calendar.set(Calendar.MINUTE, 0);
+        calendar.set(Calendar.SECOND, 0);
+    }
+
+    //鑾峰彇涓や釜鏃ユ湡涔嬮棿鐨勫垎閽熸暟
+    private static int millisecondsToDays(long intervalMs) {
+        return (int) (intervalMs / (1000 * 86400));
+    }
 }

--
Gitblit v1.8.0