LocalDateTime上周
时间: 2023-10-26 16:27:43 浏览: 100
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获取上周一到周日
要获取上周一到周日的日期范围,可以使用Java 8中的LocalDate和TemporalAdjusters类。下面是一个示例代码:
```java
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.temporal.TemporalAdjusters;
public class Main {
public static void main(String[] args) {
LocalDate now = LocalDate.now();
LocalDate lastMonday = now.with(TemporalAdjusters.previous(DayOfWeek.MONDAY));
LocalDate lastSunday = now.with(TemporalAdjusters.previous(DayOfWeek.SUNDAY));
System.out.println("上周一:" + lastMonday);
System.out.println("上周日:" + lastSunday);
}
}
```
该代码首先获取当前日期(`LocalDate.now()`),然后使用`TemporalAdjusters.previous(DayOfWeek.MONDAY)`和`TemporalAdjusters.previous(DayOfWeek.SUNDAY)`分别获取上周一和上周日的日期。最后,将结果打印出来。
请注意,这里的"上周一"是指相对于当前日期而言的上一个周一,而不是上一周的周一。同样地,"上周日"是指相对于当前日期而言的上一个周日。
阅读全文