package com.moral.common.util; import com.moral.entity.charts.TimePeriod; import com.moral.entity.charts.TimeUnits; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; public class ReportTimeFormat { 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"; } return "%Y-%m-%d%H:%i:%s"; } public static String toMySqlActualTimeFormat(TimeUnits timeUnits){ switch (timeUnits){ case YEAR: return "%Y"; case MONTH: return "%m"; case DAY: return "%d"; case HOUR: return "%H"; case MINUTE:return "%i"; } return "%s"; } public static List makeTimeList(TimePeriod timePeriod){ Calendar start = Calendar.getInstance(); start.setTime(timePeriod.getStartTime()); Calendar end = Calendar.getInstance(); end.setTime(timePeriod.getEndTime()); List timeList = new ArrayList<>(); String formatStyle = ""; int timeUnit = 0; switch (timePeriod.getTimeUnits()){ case YEAR: formatStyle ="yyyy"; timeUnit = Calendar.YEAR;break; case MONTH: formatStyle ="yyyy-MM"; timeUnit = Calendar.MONTH;break; case DAY: formatStyle ="yyyy-MM-dd"; timeUnit = Calendar.DAY_OF_YEAR;break; case HOUR: formatStyle ="yyyy-MM-dd/HH"; timeUnit = Calendar.HOUR;break; case MINUTE: formatStyle ="yyyy-MM-dd/HH:mm"; timeUnit = Calendar.MINUTE;break; } do{ String time = dateToString(start.getTime(),formatStyle); timeList.add(time); start.add(timeUnit,1); } while (start.getTimeInMillis()