Java8 指定一个时间范围,获取时间范围内每周的开始时间
时间: 2023-08-29 22:08:06 浏览: 83
java8 LocalDate LocalDateTime等时间类用法实例分析
5星 · 资源好评率100%
可以使用Java8的时间API来实现这个功能。以下是一个示例代码段,它会获取指定时间范围内每周的开始时间:
```java
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.temporal.TemporalAdjusters;
public class Main {
public static void main(String[] args) {
LocalDate startDate = LocalDate.of(2021, 1, 1); // 起始时间
LocalDate endDate = LocalDate.of(2021, 3, 31); // 结束时间
LocalDate startOfWeek = startDate.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)); // 获取起始时间所在周的周一
LocalDate endOfWeek = endDate.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY)); // 获取结束时间所在周的周日
while (startOfWeek.isBefore(endOfWeek)) {
System.out.println(startOfWeek); // 输出每周的开始时间
startOfWeek = startOfWeek.plusWeeks(1); // 下一周的开始时间
}
}
}
```
这段代码首先获取指定的起始时间和结束时间,然后使用`TemporalAdjusters`类来获取这两个时间所在的周的开始时间和结束时间。接下来,使用`while`循环逐周输出每周的开始时间,直到达到结束时间所在的周为止。
阅读全文