From ac625fa6aee52f467243c78764625cf053dcfe81 Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Wed, 25 Aug 2021 11:44:20 +0800
Subject: [PATCH] screen-manage         重构组织模块日志插入代码

---
 screen-common/src/main/java/com/moral/util/DateUtils.java |   64 ++++++++++++++++++++++++++-----
 1 files changed, 53 insertions(+), 11 deletions(-)

diff --git a/screen-common/src/main/java/com/moral/util/DateUtils.java b/screen-common/src/main/java/com/moral/util/DateUtils.java
index 9281bed..9af501f 100644
--- a/screen-common/src/main/java/com/moral/util/DateUtils.java
+++ b/screen-common/src/main/java/com/moral/util/DateUtils.java
@@ -1,6 +1,7 @@
 package com.moral.util;
 
 
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.util.StringUtils;
 
 import java.math.BigDecimal;
@@ -13,7 +14,7 @@
 import java.time.ZonedDateTime;
 import java.util.*;
 
-
+@Slf4j
 public class DateUtils {
     /**
      * ������������(yyyy)
@@ -79,11 +80,33 @@
      * ������������(yyyy-MM-dd HH)
      * */
     public static final String yyyy_MM_dd_HH_EN = "yyyy-MM-dd HH";
+
+    /*
+    * Date���toString������
+    * */
+    public static final String EEE_MMM_dd_HH_mm_ss_zzz_yyyy = "EEE MMM dd HH:mm:ss zzz yyyy";
     /**
      * DateFormat������
      */
     private static Map<String, DateFormat> dateFormatMap = new HashMap<String, DateFormat>();
 
+
+    /**
+    * @Description: Date���toString������������Date
+            * @Param: []
+            * @return: java.util.Date
+            * @Author: ���������
+            * @Date: 2021/8/25
+            */
+    public static Date dateStringToDate(String formatStr){
+        try {
+            SimpleDateFormat sdf = new SimpleDateFormat(EEE_MMM_dd_HH_mm_ss_zzz_yyyy, Locale.US);
+            return sdf.parse(formatStr);
+        } catch (ParseException e) {
+            log.error(e.getMessage());
+            return null;
+        }
+    }
 
     /**
      * ������DateFormat
@@ -1357,35 +1380,54 @@
     }
 
     /*
-    * ������������������������������������
-    * ������time=2021-08-04 ���������������������������������������
-    *    time=2021-08 ���������������������������������
-    * */
+     * ������������������������������������
+     * ������time=2021-08-04 ���������������������������������������2021-08-04 00���2021-08-04 01���������
+     *    time=2021-08 ���������������������������������
+     * */
     public static List<String> getTimeLag(String time) {
         List<String> result = new ArrayList<>();
         int length = time.length();
         Calendar cal = Calendar.getInstance();
         String end;
         String dateFormat;
+        String df;
         int i;
         if (length == 10) {//���
             end = getDateAddDay(time, 1);
-            dateFormat = yyyy_MM_dd_EN;
+            dateFormat = yyyy_MM_dd_HH_EN;
+            df = yyyy_MM_dd_EN;
             i = Calendar.HOUR_OF_DAY;
         } else if (length == 7) {//���
             end = getDateAddMonth(time, 1);
-            dateFormat = yyyy_MM_EN;
+            dateFormat = yyyy_MM_dd_EN;
+            df = yyyy_MM_EN;
             i = Calendar.DAY_OF_MONTH;
         } else {//���
             end = getDateAddYear(time, 1);
-            dateFormat =yyyy;
+            dateFormat = yyyy_MM_EN;
+            df = yyyy;
             i = Calendar.MONTH;
         }
-        cal.setTime(getDate(time, dateFormat));
-        for (long d = cal.getTimeInMillis(); d < getDate(end, dateFormat).getTime(); cal.set(i, cal.get(i) + 1), d = cal.getTimeInMillis()) {
-            String format = dateToDateString(new Date(d));
+        cal.setTime(getDate(time, df));
+        for (long d = cal.getTimeInMillis(); d < getDate(end, df).getTime(); cal.set(i, cal.get(i) + 1), d = cal.getTimeInMillis()) {
+            String format = dateToDateString(new Date(d),dateFormat);
             result.add(format);
         }
         return result;
     }
+
+    //������date���������������������������0���5���������������������2021-08-09 15:32:00->2021-08-09 15:30:00���2021-08-09 15:39:00->2021-08-09 15:35:00
+    public static Date getFiveMinuteDate(Date date) {
+        String dateString = dateToDateString(date, yyyy_MM_dd_HH_mm_EN);
+        String minute = dateString.substring(15, 16);
+        int i = Integer.parseInt(minute);
+        if (i > 0 && i < 5) {
+            i = 0;
+        } else if (i > 5 && i <= 9) {
+            i = 5;
+        }
+        StringBuilder stringBuffer = new StringBuilder(dateString);
+        stringBuffer.replace(15, 16, String.valueOf(i));
+        return getDate(stringBuffer.toString(), yyyy_MM_dd_HH_mm_EN);
+    }
 }

--
Gitblit v1.8.0