通过传入起始时间和截止时间, 获得时间List<String> 一般用于Echarts 坐标轴
/** * 返回时间序列 *@param startTime yyyy-MM-dd HH:mm:ss (日期单位不小于 参数日期格式) *@param endTime yyyy-MM-dd HH:mm:ss *@param dateType 日期格式 HOUR,DAY,MONTH,YEAR *@return *@author: 菜园子 *2019年2月21日 上午10:35:38 * @throws ParseException */ public List<String> dateTimeList(String startTime,String endTime,String dateType) throws ParseException{ String fmtStr = null; int CalendarType = Calendar.DAY_OF_MONTH; int timeNum = 3600 * 24; switch(dateType){ case "HOUR" : fmtStr = "yyyy-MM-dd HH"; CalendarType = Calendar.HOUR_OF_DAY; timeNum = 3600; break; case "DAY" : fmtStr = "yyyy-MM-dd"; CalendarType = Calendar.DAY_OF_MONTH; timeNum = 3600 * 24 ; break; case "MONTH" : fmtStr = "yyyy-MM"; CalendarType = Calendar.MONTH; timeNum = 3600 * 24 * 30; break; case "YEAR" : fmtStr = "yyyy"; CalendarType = Calendar.YEAR; timeNum = 3600 * 24 * 365 ; break; default : fmtStr = "yyyy-MM-dd"; CalendarType = Calendar.DAY_OF_MONTH; break; } List<String> list = new ArrayList<>(); Calendar startCal = Calendar.getInstance(); Calendar endCal = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat(fmtStr);//此处修改日期格式 Date startDate = sdf.parse(startTime); Date endDate = sdf.parse(endTime); startCal.setTime(startDate); endCal.setTime(endDate); startCal.compareTo(endCal); //得到两个日期相差的天数 int days = ((int)(endCal.getTime().getTime()/1000)-(int)(startCal.getTime().getTime()/1000))/timeNum;//此处修改日期单位 for(int i = 0;i<=days;i++){ list.add(sdf.format(startCal.getTime())); startCal.add(CalendarType, 1);//此处修改时间单位, 小时/日/星期/月 等等 } return list; }