From d6c509ab43bd472e56e3d9a9ddde0b335b7fd67e Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Mon, 09 Aug 2021 17:22:30 +0800
Subject: [PATCH] 5分钟数据统计任务修改

---
 screen-common/src/main/java/com/moral/util/DateUtils.java |  109 ++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 96 insertions(+), 13 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 f5ecd8a..7fe7e86 100644
--- a/screen-common/src/main/java/com/moral/util/DateUtils.java
+++ b/screen-common/src/main/java/com/moral/util/DateUtils.java
@@ -16,6 +16,10 @@
 
 public class DateUtils {
     /**
+     * ������������(yyyy)
+     */
+    public static final String yyyy = "yyyy";
+    /**
      * ������������(yyyy-MM-dd)
      */
     public static final String yyyy_MM_dd_EN = "yyyy-MM-dd";
@@ -746,8 +750,8 @@
      * @param days
      * @return
      */
-    public static String getDateAddDay(String date, int days, String format) {
-        DateFormat df = getDateFormat(format);
+    public static String getDateAddDay(String date, int days) {
+        DateFormat df = getDateFormat(yyyy_MM_dd_EN);
         try {
             Calendar cal = Calendar.getInstance();
             cal.setTime(df.parse(date));
@@ -761,6 +765,17 @@
     }
 
     /**
+     * ������������������������
+     *
+     * @return
+     */
+    public static Date getFirstDayOfCurrMonth() {
+        Calendar cal = Calendar.getInstance();
+        cal.set(Calendar.DAY_OF_MONTH, 1);
+        return getDate(dateToDateString(cal.getTime(), yyyy_MM_dd_EN));
+    }
+
+    /**
      * ������������������������������
      *
      * @return
@@ -769,8 +784,7 @@
         Calendar cal = Calendar.getInstance();
         cal.add(Calendar.MONTH, 1);
         cal.set(Calendar.DAY_OF_MONTH, 0);
-
-        return cal.getTime();
+        return getDate(dateToDateString(cal.getTime(), yyyy_MM_dd_EN));
     }
 
     /**
@@ -781,7 +795,7 @@
      * @return
      */
     public static String getDateAddMonth(String date, int m) {
-        DateFormat df = getDateFormat(yyyyMM_EN);
+        DateFormat df = getDateFormat(yyyy_MM_EN);
         try {
             Calendar cal = Calendar.getInstance();
             cal.setTime(df.parse(date));
@@ -1301,12 +1315,6 @@
         return date;
     }
 
-    //������������������������������������
-    public static Date convertDate(Date date) {
-        String dateString = dateToDateString(date, yyyy_MM_dd_HH_mm_EN);
-        return getDate(dateString, yyyy_MM_dd_HH_mm_EN);
-    }
-
     //���������������������������������
     public static Date dataToTimeStampTime(Date time, String dateFormat) {
         String dateString = dateToDateString(time, dateFormat);
@@ -1317,7 +1325,82 @@
         }
     }
 
-    public static void main(String[] args) throws InterruptedException {
-        System.out.println(new Date().getTime());
+    //���������������
+    public static Date getLastWeekMonday() {
+        Calendar cal = Calendar.getInstance();
+        cal.setTime(getDate(getMondayOfThisWeek(), yyyy_MM_dd_EN));
+        cal.add(Calendar.DATE, -7);
+        return cal.getTime();
+    }
+
+    //���������������������
+    public static Date getFirstDayOfLastMonth() {
+        Calendar calendar = Calendar.getInstance();
+        calendar.add(Calendar.MONTH, -1);
+        calendar.set(Calendar.DAY_OF_MONTH, 1);
+        return getDate(dateToDateString(calendar.getTime(), yyyy_MM_dd_EN));
+    }
+
+
+    /*���������������������*/
+    public static String getDateAddYear(String date, int year) {
+        DateFormat df = getDateFormat(yyyy);
+        try {
+            Calendar cal = Calendar.getInstance();
+            cal.setTime(df.parse(date));
+            cal.add(Calendar.YEAR, year);
+            date = df.format(cal.getTime());
+        } catch (ParseException e) {
+            throw new RuntimeException(e);
+        }
+        return date;
+    }
+
+    /*
+     * ������������������������������������
+     * ������time=2021-08-04 ���������������������������������������
+     *    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;
+        int i;
+        if (length == 10) {//���
+            end = getDateAddDay(time, 1);
+            dateFormat = yyyy_MM_dd_EN;
+            i = Calendar.HOUR_OF_DAY;
+        } else if (length == 7) {//���
+            end = getDateAddMonth(time, 1);
+            dateFormat = yyyy_MM_EN;
+            i = Calendar.DAY_OF_MONTH;
+        } else {//���
+            end = getDateAddYear(time, 1);
+            dateFormat = 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));
+            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