Computer >> Máy Tính >  >> Lập trình >> Java

Làm cách nào để lấy ngày tháng bằng phương thức LocalDate.datesUntil () trong Java 9?

LocalDate.datesUntil () phương thức tạo luồng giữa hai ngày cục bộ bản sao và cho phép chúng tôi tùy chọn chỉ định kích thước bước. Phương pháp này có hai biến thể, biến thể đầu tiên lấy end ngày và cung cấp danh sách các ngày giữa ngày hiện tại và ngày kết thúc trong khi ngày thứ hai có Khoảng thời gian đối tượng dưới dạng tham số cung cấp một cách để bỏ qua ngày và chỉ phát trực tuyến một tập hợp con được chọn trong số các ngày từ bắt đầu kết thúc ngày tháng.

Cú pháp

Các ngày
public Stream<LocalDate> datesUntil(LocalDate end)
public Stream<LocalDate> datesUntil(LocalDate end, Period step)

Ví dụ

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

Đầu ra

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