通過傳入起始時間和截止時間, 獲得時間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; }