From 50e24cdfd75ada4dd6ea5dce74803b7f96e3ba81 Mon Sep 17 00:00:00 2001
From: ZhuDongming <773644075@qq.com>
Date: Thu, 15 Aug 2019 17:20:52 +0800
Subject: [PATCH] 添加无人机历史查询最大值和最小值的Mapper接口

---
 src/main/java/com/moral/common/util/ReportTimeFormat.java |   96 ++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 85 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/moral/common/util/ReportTimeFormat.java b/src/main/java/com/moral/common/util/ReportTimeFormat.java
index 47aa811..b61944b 100644
--- a/src/main/java/com/moral/common/util/ReportTimeFormat.java
+++ b/src/main/java/com/moral/common/util/ReportTimeFormat.java
@@ -3,6 +3,7 @@
 import com.moral.entity.charts.TimePeriod;
 import com.moral.entity.charts.TimeUnits;
 
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Calendar;
@@ -10,13 +11,24 @@
 import java.util.List;
 
 public class ReportTimeFormat {
+       // ������mysql format���������java���format������������
+       public final  static String YEAR_FORMAT = "yyyy";
+       public final  static String MONTH_FORMAT = "yyyy-MM";
+       public final  static String DAY_FORMAT = "yyyy-MM-dd";
+       public final  static String HOUR_FORMAT = "yyyy-MM-dd/HH";
+       public final  static String MINUTE_FORMAT = "yyyy-MM-dd/HH:mm";
+       public final  static String YEAR_FORMAT_OF_MYSQL = "%Y";
+       public final  static String MONTH_FORMAT_OF_MYSQL = "%Y-%m";
+       public final  static String DAY_FORMAT_OF_MYSQL = "%Y-%m-%d";
+       public final  static String HOUR_FORMAT_OF_MYSQL = "%Y-%m-%d/%H";
+       public final  static String MINUTE_FORMAT_OF_MYSQL = "%Y-%m-%d/%H:%i";
        public static String toMySqlTimeFormat(TimeUnits timeUnits){
            switch (timeUnits){
-               case YEAR: return "%Y";
-               case MONTH: return "%Y-%m";
-               case DAY: return "%Y-%m-%d";
-               case HOUR: return "%Y-%m-%d/%H";
-               case MINUTE:return "%Y-%m-%d/%H:%i";
+               case YEAR: return YEAR_FORMAT_OF_MYSQL;
+               case MONTH: return MONTH_FORMAT_OF_MYSQL;
+               case DAY: return DAY_FORMAT_OF_MYSQL;
+               case HOUR: return HOUR_FORMAT_OF_MYSQL;
+               case MINUTE:return MINUTE_FORMAT_OF_MYSQL;
            }
            return "%Y-%m-%d%H:%i:%s";
        }
@@ -30,6 +42,12 @@
            }
            return "%s";
        }
+
+    /**
+     * ������ ������������������ ������������
+     * @param timePeriod
+     * @return
+     */
        public static List<String> makeTimeList(TimePeriod timePeriod){
            Calendar start = Calendar.getInstance();
            start.setTime(timePeriod.getStartTime());
@@ -39,15 +57,15 @@
            String formatStyle = "";
            int timeUnit = 0;
            switch (timePeriod.getTimeUnits()){
-               case YEAR: formatStyle ="yyyy";
+               case YEAR: formatStyle = YEAR_FORMAT;
                    timeUnit = Calendar.YEAR;break;
-               case MONTH: formatStyle ="yyyy-MM";
+               case MONTH: formatStyle =MONTH_FORMAT;
                    timeUnit = Calendar.MONTH;break;
-               case DAY: formatStyle ="yyyy-MM-dd";
+               case DAY: formatStyle =DAY_FORMAT;
                    timeUnit = Calendar.DAY_OF_YEAR;break;
-               case HOUR: formatStyle ="yyyy-MM-dd/HH";
+               case HOUR: formatStyle =HOUR_FORMAT;
                    timeUnit = Calendar.HOUR;break;
-               case MINUTE: formatStyle ="yyyy-MM-dd/HH:mm";
+               case MINUTE: formatStyle =MINUTE_FORMAT;
                    timeUnit = Calendar.MINUTE;break;
            }
            do{
@@ -55,9 +73,65 @@
                timeList.add(time);
                start.add(timeUnit,1);
            }
-           while (start.getTimeInMillis()<end.getTimeInMillis());
+           while (start.getTimeInMillis()<=end.getTimeInMillis());
            return timeList;
        }
+
+    /**
+     * ������������������
+     * @param date ���������������
+     * @param timeUnits ������������������������������������������
+     * @param amount ������������������������������������
+     * @return
+     */
+     public static Date dateCalc(Date date,TimeUnits timeUnits,Integer amount) {
+         Calendar rightNow = Calendar.getInstance();
+         rightNow.setTime(date);
+         rightNow.add(toCalendarTimeUnit(timeUnits), amount);
+         return rightNow.getTime();
+     }
+
+    /**
+     * ���������������������������
+     * @param format
+     * @return
+     * @throws ParseException
+     */
+     public  static  Date getFormatDate(String format){
+         Date date = null;
+         try {
+             SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
+             String dateString = simpleDateFormat.format(new Date());
+             date = simpleDateFormat.parse(dateString);
+         } catch (Exception ex) {
+             ex.printStackTrace();
+         }
+         return date;
+     }
+    /**
+     * ������������
+     * @param date
+     * @param timeUnits
+     * @param value
+     * @return
+     */
+     public static Date dateSetValue(Date date,TimeUnits timeUnits,Integer value) {
+         Calendar cal = Calendar.getInstance();
+         cal.setTime(date);
+         cal.set(toCalendarTimeUnit(timeUnits), value);
+         return cal.getTime();
+     }
+     private static int toCalendarTimeUnit(TimeUnits timeUnits) {
+           switch (timeUnits) {
+               case YEAR: return  Calendar.YEAR;
+               case MONTH: return  Calendar.MONTH;
+               case DAY: return  Calendar.DAY_OF_YEAR;
+               case HOUR: return  Calendar.HOUR;
+               case MINUTE: return  Calendar.MINUTE;
+               case SECOND: return  Calendar.SECOND;
+               default: return  Calendar.MILLISECOND;
+           }
+     }
      /**"yyyy-MM-dd hh:mm:ss"
      * ������������date���������������������������������������������
      * @param date

--
Gitblit v1.8.0