Javaで2つの日付の間のすべての日付を取得する

LocalDateクラスを使用して、2つの日付間のすべての日付を取得することができます。

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);
        }
    }
}

上記の例で、私たちはgetDatesBetween()という静的メソッドを定義しました。これは、2つのLocalDateパラメータ、つまり開始日と終了日を受け取ります。そして、ChronoUnit.DAYS.between()メソッドを使用して、これらの日付間の日数差を計算します。次に、開始日から始めて、終了日まで1日ずつ増やしながらループを使用して、各日付をListに追加します。最後に、このリストを返します。

main()関数の中で、開始日と終了日を定義し、getDatesBetween()メソッドを呼び出してその間のすべての日付を取得します。そして、ループを使用して各日付を出力します。コードを実行すると、次の出力が表示されます:

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

そのようにすれば、2つの日付間のすべての日付を取得できます。

bannerAds