Java 獲取指定範圍內的日期時間
阿新 • • 發佈:2021-12-02
一、程式碼
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; } }
二、測試結果