JAVA中將一個時間段按固定間隔拆分為List
阿新 • • 發佈:2019-02-06
通過給定的固定的時間段,輸出在該時間段內固定間隔的每個時刻的List集合,如果最後的時間間隔不夠的話,將結束時間作為最後的時刻。
/** * 獲取固定間隔時刻集合 * @param start 開始時間 * @param end 結束時間 * @param interval 時間間隔(單位:分鐘) * @return */ public static List<String> getIntervalTimeList(String start,String end,int interval){ Date startDate = DateTimeUtils.convertString2Date("HH:mm:ss",start); Date endDate = DateTimeUtils.convertString2Date("HH:mm:ss",end); List<String> list = new ArrayList<>(); while(startDate.getTime()<=endDate.getTime()){ list.add(DateTimeUtils.convertDate2String("HH:mm:ss",startDate)); Calendar calendar = Calendar.getInstance(); calendar.setTime(startDate); calendar.add(Calendar.MINUTE,interval); if(calendar.getTime().getTime()>endDate.getTime()){ if(!startDate.equals(endDate)){ list.add(DateTimeUtils.convertDate2String("HH:mm:ss",endDate)); } startDate = calendar.getTime(); }else{ startDate = calendar.getTime(); } } return list; }
測試方法:
List<String> list = DateTimeUtils.getIntervalTimeList("12:00:00","20:30:00",60);
for (String s : list) {
System.out.println(s);
}
測試結果: