LocalDateTime上周
时间: 2023-10-26 08:27:43 浏览: 107
LocalDateTime可以用来获取上周的日期。首先获取当前时间,然后获取今天是星期几,将当前时间向前推一个星期,再加上(7-当前星期几),即可获取上周的日期。以下是示例代码:
```java
LocalDateTime localDateTime = LocalDateTime.now();
int dayOfWeek = localDateTime.getDayOfWeek().getValue();
LocalDateTime lastWeekDate = localDateTime.minusWeeks(1).plusDays(7 - dayOfWeek);
System.out.println(lastWeekDate);
```
这段代码会打印出上周的日期。请注意,这里使用的是LocalDateTime的getDayOfWeek().getValue()方法来获取星期几的值,与Calendar中的获取方式略有不同。
<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
相关问题
LocalDateTime获取上周六时间
可以通过获取当前时间,然后获取今天是周几,将当前时间向前推一个星期,再加上(6-当前周几),即可获取上周六的时间。代码如下:
```java
LocalDateTime localDateTime = LocalDateTime.now();
int dayOfWeek = localDateTime.getDayOfWeek().getValue();
LocalDateTime lastSaturday = localDateTime.minusWeeks(1).plusDays(6 - dayOfWeek);
System.out.println(lastSaturday);
```
输出结果为上周六的时间。
LocalDateTime获取上周六开始时间
要获取上周六的开始时间,可以按照以下步骤进行操作:
1. 获取当前时间的LocalDateTime对象。
2. 获取当前时间是周几,用dayOfWeek表示。
3. 如果当前时间是周六,直接减去一周即可得到上周六的开始时间。
4. 如果当前时间不是周六,先减去当前时间是周几的天数,再减去一周即可得到上周六的开始时间。
5. 最后将上周六的开始时间格式化输出即可。
代码如下:
```
LocalDateTime now = LocalDateTime.now(); // 获取当前时间
int dayOfWeek = now.getDayOfWeek().getValue(); // 获取当前时间是周几,1表示周一,7表示周日
LocalDateTime lastSaturday;
if (dayOfWeek == 6) { // 如果当前时间是周六
lastSaturday = now.minusWeeks(1); // 直接减去一周即可得到上周六的开始时间
} else {
lastSaturday = now.minusDays(dayOfWeek).minusWeeks(1); // 先减去当前时间是周几的天数,再减去一周即可得到上周六的开始时间
}
String startTime = lastSaturday.withHour(0).withMinute(0).withSecond(0).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); // 将上周六的开始时间格式化输出
System.out.println(startTime);
```
阅读全文