1. 程式人生 > 其它 >Java 獲取指定範圍內的日期時間

Java 獲取指定範圍內的日期時間

一、程式碼

public class DateUtils {
    public static void main(String[] args) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String beginTime = "2021-11-25";
        String endTime = "2021-12-02";
        Date beginDate = sdf.parse(beginTime);
        Date endDate = sdf.parse(endTime);

        List<Date> dateList = getDateByTimeRange(beginDate, endDate);
        // 輸出列印
        dateList.stream().map((item)->sdf.format(item)).forEach(System.out::println);
    }

    public static List<Date> getDateByTimeRange(Date beginDate, Date endDate) {
        List dateList = new ArrayList();
        dateList.add(beginDate);
        Calendar beginCalendar = Calendar.getInstance();
        // 使用給定的 Date 設定此 Calendar 的時間
        beginCalendar.setTime(beginDate);
        Calendar endCalendar = Calendar.getInstance();
        // 使用給定的 Date 設定此 Calendar 的時間
        endCalendar.setTime(endDate);
        // 測試此日期是否在指定日期之後
        while (endDate.after(beginCalendar.getTime())) {
            // 根據日曆的規則,為給定的日曆欄位新增或減去指定的時間量
            beginCalendar.add(Calendar.DAY_OF_MONTH, 1);
            dateList.add(beginCalendar.getTime());
        }
        return dateList;
    }
}

二、測試結果