溫馨提示×

java獲取兩個日期之間的所有日期

小億
239
2023-12-22 06:36:58
欄目: 編程語言

可以使用LocalDate類來獲取兩個日期之間的所有日期。

import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.List;

public class DateRange {

    public static List<LocalDate> getDatesBetween(LocalDate startDate, LocalDate endDate) {
        List<LocalDate> dates = new ArrayList<>();
        long numOfDays = ChronoUnit.DAYS.between(startDate, endDate);
        for (int i = 0; i <= numOfDays; i++) {
            LocalDate date = startDate.plusDays(i);
            dates.add(date);
        }
        return dates;
    }

    public static void main(String[] args) {
        LocalDate startDate = LocalDate.of(2022, 1, 1);
        LocalDate endDate = LocalDate.of(2022, 1, 10);
        List<LocalDate> dates = getDatesBetween(startDate, endDate);
        for (LocalDate date : dates) {
            System.out.println(date);
        }
    }
}

在上面的示例中,我們定義了一個靜態(tài)方法getDatesBetween(),它接受兩個LocalDate參數(shù),即起始日期和結束日期。然后使用ChronoUnit.DAYS.between()方法計算這兩個日期之間的天數(shù)差。接下來,使用循環(huán)從起始日期開始,逐個增加一天,直到結束日期,并將每個日期添加到一個List<LocalDate>中。最后,將這個列表返回。

main()方法中,我們定義了起始日期和結束日期,并調用getDatesBetween()方法獲取兩個日期之間的所有日期。然后,使用循環(huán)輸出每個日期。運行代碼,你將會看到以下輸出:

2022-01-01
2022-01-02
2022-01-03
2022-01-04
2022-01-05
2022-01-06
2022-01-07
2022-01-08
2022-01-09
2022-01-10

這樣你就可以獲取兩個日期之間的所有日期了。

0