一、使用Calendar類
使用Java內置的Calendar類,我們可以很容易地獲取兩個日期之間的所有日期。
Calendar start = Calendar.getInstance();
start.setTime(startDate); // 將開始日期傳入Calendar實例中
Calendar end = Calendar.getInstance();
end.setTime(endDate); // 將結束日期傳入Calendar實例中
List dateList = new ArrayList();
while (!start.after(end)) { // 判斷是否到達結束日期
dateList.add(start.getTime());
start.add(Calendar.DAY_OF_MONTH, 1); // 日期加一天
}
上述代碼中,我們先將開始日期和結束日期分別傳入兩個Calendar實例,然後使用一個while循環來遍歷這個日期區間,每次遍歷都將當前日期加一天,並將其加入日期列表中。
二、使用LocalDate類(Java 8及以上版本)
如果你使用的是Java 8及以上的版本,你可以使用Java內置的LocalDate類來獲取兩個日期之間的所有日期。
LocalDate start = LocalDate.parse(startDate.toString());
LocalDate end = LocalDate.parse(endDate.toString());
List<LocalDate> dateList = new ArrayList();
while (!start.isAfter(end)) { // 判斷是否到達結束日期
dateList.add(start);
start = start.plusDays(1); // 日期加一天
}
上述代碼中,我們首先將開始日期和結束日期轉換成LocalDate實例,然後使用一個while循環來遍歷這個日期區間,每次遍歷都將當前日期加一天,並將其加入日期列表中。
三、使用第三方庫Joda-Time
如果你使用的是JDK 7及以下的版本,你可以使用Joda-Time這個第三方庫來獲取兩個日期之間的所有日期。
DateTime start = new DateTime(startDate);
DateTime end = new DateTime(endDate);
List<DateTime> dateList = new ArrayList();
while (!start.isAfter(end)) { // 判斷是否到達結束日期
dateList.add(start);
start = start.plusDays(1); // 日期加一天
}
上述代碼中,我們首先使用DateTime類來分別將開始日期和結束日期轉換成DateTime實例,然後使用一個while循環來遍歷這個日期區間,每次遍歷都將當前日期加一天,並將其加入日期列表中。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/310028.html