1. 程式人生 > >JAVA中將一個時間段按固定間隔拆分為List

JAVA中將一個時間段按固定間隔拆分為List

通過給定的固定的時間段,輸出在該時間段內固定間隔的每個時刻的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);
        }


測試結果: