java获取本周七天日期
时间: 2024-11-15 09:30:45 浏览: 10
在Java中,你可以使用`java.time`包下的类来获取当前星期的起始日期(周日)和结束日期(周六)。下面是一个简单的例子:
```java
import java.time.LocalDate;
import java.time.DayOfWeek;
import java.util.stream.Stream;
public class Main {
public static void main(String[] args) {
LocalDate currentDate = LocalDate.now(); // 获取当前日期
DayOfWeek currentDayOfWeek = currentDate.getDayOfWeek(); // 获取当前星期
// 如果今天不是周一,向后移动到上周一
if (currentDayOfWeek != DayOfWeek.MONDAY) {
currentDate = currentDate.minusWeeks(1).with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
}
// 创建一个从本周一开始到周日结束的流
Stream<LocalDate> weekDates = Stream.of(currentDate, currentDate.plusDays(1), // 周日
currentDate.plusDays(2), currentDate.plusDays(3),
currentDate.plusDays(4), currentDate.plusDays(5),
currentDate.plusDays(6));
// 打印本周的所有日期
weekDates.forEach(date -> System.out.println(date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))));
}
}
```
这段代码首先找到当前是周几,然后根据需要调整到上周一。接着,通过`Stream`创建了一个包含一周所有日期的流,并打印出来。
阅读全文