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<String> makeTimeList(TimePeriod timePeriod){
|
Calendar start = Calendar.getInstance();
|
start.setTime(timePeriod.getStartTime());
|
Calendar end = Calendar.getInstance();
|
end.setTime(timePeriod.getEndTime());
|
List<String> 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()<end.getTimeInMillis());
|
return timeList;
|
}
|
/**"yyyy-MM-dd hh:mm:ss"
|
* 把指定的date类型时间转换为指定格式的字符串
|
* @param date
|
* @return
|
*/
|
private static String dateToString(Date date,String formatStyle) {
|
SimpleDateFormat format = new SimpleDateFormat(formatStyle);
|
String dateFormat = format.format(date);
|
return dateFormat;
|
}
|
|
}
|