From 479856d9964ebe0cf39e182dd0035a42e4a80c9c Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 08 九月 2023 12:50:13 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/crm/manager/utils/TimeCalculatorUtils.java |  113 ++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 72 insertions(+), 41 deletions(-)

diff --git a/src/main/java/com/zy/crm/manager/utils/TimeCalculatorUtils.java b/src/main/java/com/zy/crm/manager/utils/TimeCalculatorUtils.java
index 3def1fc..880a559 100644
--- a/src/main/java/com/zy/crm/manager/utils/TimeCalculatorUtils.java
+++ b/src/main/java/com/zy/crm/manager/utils/TimeCalculatorUtils.java
@@ -10,8 +10,8 @@
 
 public class TimeCalculatorUtils {
 
-    public static int getTimeHour(){
-        //濡備綍鑾峰彇褰撳墠鏃堕棿鐨勫皬鏃舵暟锛�24灏忔椂鍒讹級锛�
+    //鑾峰彇褰撳墠鏃堕棿鐨勫皬鏃舵暟锛�24灏忔椂鍒讹級锛�
+    public static int nowTimeHour(){
         // 鑾峰彇褰撳墠鏃堕棿鎴�
         long timestamp = System.currentTimeMillis();
 
@@ -30,7 +30,8 @@
         return calendar.get(java.util.Calendar.HOUR_OF_DAY);
     }
 
-    public static int getTimeHour(Date date){
+    //鑾峰彇褰撳ぉ灏忔椂鏁帮紙24灏忔椂鍒讹級涓浗鍖椾含鏃堕棿锛�
+    public static int timeTimeHour(Date date){
         // 鍒涘缓TimeZone瀵硅薄锛岃缃负涓浗鍖椾含鏃堕棿
         TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
 
@@ -43,14 +44,16 @@
         return calendar.get(java.util.Calendar.HOUR_OF_DAY);
     }
 
-    public static Date getYesterday(Date date){
+    //鑾峰彇鍓嶄竴澶╃殑鏃ユ湡锛堟棩鏈熷ぉ鏁板噺涓�锛�
+    public static Date timeYesterday(Date date){
         Calendar calendar = Calendar.getInstance();
         calendar.setTime(date);
         calendar.add(Calendar.DAY_OF_MONTH, -1);
         return calendar.getTime();
     }
 
-    public static String getYestMonthDay(Date date){
+    //鑾峰彇骞存湀鏃�
+    public static String timeYestMonthDay(Date date){
         Calendar calendar = Calendar.getInstance();
         calendar.setTime(date);
 
@@ -60,51 +63,79 @@
         return year+"骞�"+month+"鏈�"+day+"鏃�";
     }
 
-    public static int getDifferenceDayInt(Date startDay,Date endDay){
-        return getDifferenceDayLong(startDay,endDay).intValue();
+    //鑾峰彇骞�
+    public static int timeYest(Date date){
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+
+        return calendar.get(Calendar.YEAR);
     }
 
-    public static Long getDifferenceDayLong(Date startDay,Date endDay){
-        LocalDate localDateA = dateToLocalDate(startDay);
-        LocalDate localDateB = dateToLocalDate(endDay);
+    //鑾峰彇鏈�
+    public static int timeMonth(Date date){
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
 
-        return getDifferenceDays(localDateA, localDateB);
+        return calendar.get(Calendar.MONTH) + 1;
     }
 
-    public static Long getDifferenceDayDouble(String startDay,String endDay){
-        // 瀹氫箟鏃ユ湡瀛楃涓茬殑鏍煎紡
-        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy骞碝鏈坉鏃hh:mm");
+    //鑾峰彇鏃�
+    public static int timeDay(Date date){
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+
+        return calendar.get(Calendar.DAY_OF_MONTH);
+    }
+    //鑾峰彇骞村樊寮�
+    public static int DifferenceYest(Date startDay,Date endDay){
+        int startYest = timeYest(startDay);
+        int endYest = timeYest(endDay);
+        return endYest-startYest;
+    }
+    //鑾峰彇鏈堝樊寮�
+    public static int DifferenceMonth(Date startDay,Date endDay){
+        int startMonth = timeMonth(startDay);
+        int endMonth = timeMonth(endDay);
+        return endMonth-startMonth;
+    }
+    //鑾峰彇澶╁樊寮�
+    public static int DifferenceDayInt(Date startDay,Date endDay){
+        return DifferenceDayLong(startDay,endDay).intValue();
+    }
+    //鑾峰彇澶╁樊寮�
+    public static Long DifferenceDayLong(Date startDay,Date endDay){
+
+        LocalDate a = LocalDate.of(timeYest(startDay), timeMonth(startDay), timeDay(startDay));
+        LocalDate b = LocalDate.of(timeYest(endDay), timeMonth(endDay), timeDay(endDay));
+
+        return ChronoUnit.DAYS.between(a, b)+1;
+    }
+    //鑾峰彇澶╁樊寮�
+    public static Double DifferenceDayMorningAfternoon(Date startDay,Date endDay,int startTime,int endTime){
+        double between = DifferenceDayLong(startDay, endDay).doubleValue();
+        if (startTime==2){
+            between = between-0.5;
+        }
+        if (endTime == 1){
+            between = between-0.5;
+        }
+        return between;
+    }
+
+    public static boolean CompareData(Date startDay,Date endDay){
 
         // 灏嗘棩鏈熷瓧绗︿覆瑙f瀽涓篖ocalDate瀵硅薄
-        LocalDate dateA = LocalDate.parse(startDay, formatter);
-        LocalDate dateB = LocalDate.parse(endDay, formatter);
+        LocalDate a = LocalDate.of(timeYest(startDay), timeMonth(startDay), timeDay(startDay));
+        LocalDate b = LocalDate.of(timeYest(endDay), timeMonth(endDay), timeDay(endDay));
 
-        // 璁$畻鏃ユ湡瀵硅薄涔嬮棿鐨勭浉闅斿ぉ鏁�
-        return ChronoUnit.DAYS.between(dateA, dateB);
-
-    }
-
-    private static String getDatePart(String dateTime) {
-        int index = dateTime.indexOf(" ");
-        if (index != -1) {
-            return dateTime.substring(0, index);
+        // 姣旇緝鏃ユ湡
+        if (a.isAfter(b)) {
+            return false;
+        } else if (a.isBefore(b)) {
+            return true;
+        } else {
+            return true;
         }
-        return dateTime;
     }
 
-    private static String getTimePart(String dateTime) {
-        int index = dateTime.indexOf(" ");
-        if (index != -1) {
-            return dateTime.substring(index + 1);
-        }
-        return "";
-    }
-
-    private static LocalDate dateToLocalDate(Date date) {
-        return date.toInstant().atZone(java.time.ZoneId.systemDefault()).toLocalDate();
-    }
-
-    private static long getDifferenceDays(LocalDate dateA, LocalDate dateB) {
-        return ChronoUnit.DAYS.between(dateA, dateB);
-    }
 }

--
Gitblit v1.9.1