如何在 Java 9 中使用 LocalDate.datesUntil() 方法獲取日期?


LocalDate.datesUntil() 方法建立兩個本地日期例項之間的一個,並允許我們選擇性地指定一個步長大小。此方法有兩個變體,第一個變體採用結束日期,並提供當前日期和結束日期之間的日期列表,而第二個變體採用一個Period 物件作為引數,該物件提供一種跳過日期並僅流式傳輸開始結束日期之間日期的選定子集的方式。

語法

public Stream<LocalDate> datesUntil(LocalDate end)
public Stream<LocalDate> datesUntil(LocalDate end, Period step)

示例

import java.time.LocalDate;
import java.time.Period;
import java.time.Month;
import java.util.stream.Stream;

public class DatesUntilMethodTest {
   public static void main(String args[]) {
      final LocalDate myBirthday = LocalDate.of(1980, Month.AUGUST, 8);
      final LocalDate christmas = LocalDate.of(1980, Month.DECEMBER, 25);

      System.out.println("Day-Stream:\n");
      final Stream<LocalDate> daysUntil = myBirthday.datesUntil(christmas);
      daysUntil.skip(50).limit(10).forEach(System.out::println);

      System.out.println("\nMonth-Stream:\n");
      final Stream monthsUntil = myBirthday.datesUntil(christmas, Period.ofMonths(1));
      monthsUntil.limit(5).forEach(System.out::println);
   }
}

輸出

Day-Stream:

1980-09-27
1980-09-28
1980-09-29
1980-09-30
1980-10-01
1980-10-02
1980-10-03
1980-10-04
1980-10-05
1980-10-06

Month-Stream:

1980-08-08
1980-09-08
1980-10-08
1980-11-08
1980-12-08

更新於: 2020-02-28

1K+ 檢視

開啟您的 職業生涯

透過完成課程獲得認證

完成入門
廣告
© . All rights reserved.