Java8 LocalDate类中没有找到datesUntil
时间: 2023-08-12 11:24:05 浏览: 149
java8 LocalDate 使用详解
5星 · 资源好评率100%
Java 8 中的 `LocalDate` 类确实没有 `datesUntil` 方法,这个方法是在 Java 9 中才被添加进来的。如果你想在 Java 8 中创建两个日期之间的日期流,可以使用 `java.time.temporal.ChronoUnit` 类的 `between` 方法和 `java.util.stream.Stream` 类的 `iterate` 方法来实现。以下是一个示例:
```java
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
import java.util.stream.Stream;
public class DateTest {
public static void main(String[] args) {
LocalDate startDate = LocalDate.of(2021, 1, 1);
LocalDate endDate = LocalDate.of(2021, 1, 5);
long daysBetween = ChronoUnit.DAYS.between(startDate, endDate);
Stream<LocalDate> dateStream = Stream.iterate(startDate, date -> date.plusDays(1)).limit(daysBetween + 1);
dateStream.forEach(System.out::println);
}
}
```
输出结果为:
```
2021-01-01
2021-01-02
2021-01-03
2021-01-04
2021-01-05
```
这段代码首先使用 `ChronoUnit.DAYS.between` 方法计算出两个日期之间相差的天数,然后使用 `Stream.iterate` 方法创建一个从起始日期开始,每次加一天的日期流,最后使用 `limit` 方法限制日期流的长度为相差天数加一,以包含结束日期。
阅读全文