LocalDateTime获取上周六时间
时间: 2023-11-16 12:00:11 浏览: 105
可以通过获取当前时间,然后获取今天是周几,将当前时间向前推一个星期,再加上(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);
```
LocalDateTime 获取当天开始时间
可以使用Java 8引入的LocalDateTime类来获取当天的开始时间,代码如下:
```java
LocalDateTime todayStart = LocalDateTime.of(LocalDate.now(), LocalTime.MIN);
```
通过`LocalDateTime.of()`方法将当天的日期和最小时间(LocalTime.MIN)组合起来即可得到当天的开始时间。需要注意的是,这里的最小时间是指00:00:00。
如果需要获取当天的结束时间,可以将`LocalTime.MIN`改为`LocalTime.MAX`,代码如下:
```java
LocalDateTime todayEnd = LocalDateTime.of(LocalDate.now(), LocalTime.MAX);
```
这里的最大时间是指23:59:59.999999999。
阅读全文
相关推荐
















