获取根据当前时间 获取本周每天的开始时间与结束时间 最后的时间为59:59:59 输出的时间格式为2020-09-09 00:10:10java
时间: 2023-11-28 07:50:58 浏览: 83
ASP.NET获取本天、周、月、年的起止时间
5星 · 资源好评率100%
可以使用Java 8的时间API来实现这个功能。具体实现如下:
```java
import java.time.DayOfWeek;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
public class Main {
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now();
LocalDateTime startOfWeek = now.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)).withHour(0).withMinute(0).withSecond(0).withNano(0);
LocalDateTime endOfWeek = now.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY)).withHour(23).withMinute(59).withSecond(59).withNano(999999999);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
System.out.println("本周开始时间:" + startOfWeek.format(formatter));
System.out.println("本周结束时间:" + endOfWeek.format(formatter));
}
}
```
运行结果:
```
本周开始时间:2021-06-28 00:00:00
本周结束时间:2021-07-04 23:59:59
```
代码解释:
1. 首先获取当前时间 `now`。
2. 使用 `TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)` 方法获取本周开始时间,将时分秒都设置为 0,纳秒设置为 0。
3. 使用 `TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY)` 方法获取本周结束时间,将时分秒都设置为 23、59、59,纳秒设置为 999999999。
4. 使用 `DateTimeFormatter` 格式化输出时间,输出格式为 `yyyy-MM-dd HH:mm:ss`。
阅读全文