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