From f2eaa5bc6c417c9f851cb7ba2bf004c5b035c0ef Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Wed, 29 Aug 2018 14:40:01 +0800 Subject: [PATCH] 最近24小时aqi接口完善 --- src/main/java/com/moral/common/util/ReportTimeFormat.java | 41 ++++++++++++++++++++++++++++++++++++++--- src/main/java/com/moral/entity/charts/TimeUnits.java | 2 +- src/main/java/com/moral/service/impl/HangzhouAqiServiceImpl.java | 5 +++-- 3 files changed, 42 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/moral/common/util/ReportTimeFormat.java b/src/main/java/com/moral/common/util/ReportTimeFormat.java index 8528d0e..2ada48b 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; @@ -72,7 +73,7 @@ timeList.add(time); start.add(timeUnit,1); } - while (start.getTimeInMillis()<end.getTimeInMillis()); + while (start.getTimeInMillis()<=end.getTimeInMillis()); return timeList; } @@ -88,14 +89,48 @@ 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; - default: return Calendar.MINUTE; + case MINUTE: return Calendar.MINUTE; + case SECOND: return Calendar.SECOND; + default: return Calendar.MILLISECOND; } } /**"yyyy-MM-dd hh:mm:ss" diff --git a/src/main/java/com/moral/entity/charts/TimeUnits.java b/src/main/java/com/moral/entity/charts/TimeUnits.java index 92ed288..209a991 100644 --- a/src/main/java/com/moral/entity/charts/TimeUnits.java +++ b/src/main/java/com/moral/entity/charts/TimeUnits.java @@ -1,5 +1,5 @@ package com.moral.entity.charts; public enum TimeUnits { - YEAR,MONTH,DAY,HOUR,MINUTE + YEAR,MONTH,DAY,HOUR,MINUTE,SECOND,MILLISECOND } diff --git a/src/main/java/com/moral/service/impl/HangzhouAqiServiceImpl.java b/src/main/java/com/moral/service/impl/HangzhouAqiServiceImpl.java index 1e2b781..0403039 100644 --- a/src/main/java/com/moral/service/impl/HangzhouAqiServiceImpl.java +++ b/src/main/java/com/moral/service/impl/HangzhouAqiServiceImpl.java @@ -35,8 +35,9 @@ } private List<Map> queryAqi24Hours(Integer orgId,boolean isGetCity) { List<Map> aqi24HoursValues = new ArrayList<>(24); - Date start = ReportTimeFormat.dateCalc(new Date(), TimeUnits.HOUR,-24); - Date end = new Date(); + Date now = ReportTimeFormat.getFormatDate(ReportTimeFormat.HOUR_FORMAT); + Date start = ReportTimeFormat.dateCalc(now, TimeUnits.HOUR,-24); + Date end = ReportTimeFormat.dateCalc(now, TimeUnits.MILLISECOND,-1);; TimePeriod timePeriod = new TimePeriod(start,end,TimeUnits.HOUR); Integer code = getCode(orgId,isGetCity); if(code == null) { -- Gitblit v1.8.0