Java根据开始时间和结束时间获取时间范围内的每天时间
时间: 2023-07-21 11:20:06 浏览: 284
可以使用Java 8的LocalDate和Stream API来实现,以下是一个示例代码:
```
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Main {
public static void main(String[] args) {
LocalDate startDate = LocalDate.of(2022, 1, 1);
LocalDate endDate = LocalDate.of(2022, 1, 10);
List<LocalDate> daysInRange = Stream.iterate(startDate, date -> date.plusDays(1))
.limit(ChronoUnit.DAYS.between(startDate, endDate.plusDays(1)))
.collect(Collectors.toList());
daysInRange.forEach(System.out::println);
}
}
```
在这个示例代码中,我们首先定义了开始时间和结束时间,然后使用Stream API来生成时间范围内的每一天的日期,最后将这些日期收集到一个List中并输出。注意,我们需要使用`ChronoUnit.DAYS.between`方法来计算开始时间和结束时间之间相差的天数,并且需要在结束时间上再加上一天来确保结束时间也包含在时间范围内。
阅读全文