LocalDateTime得到前一天18:00时间
时间: 2024-07-17 10:00:59 浏览: 209
在Java中,`LocalDateTime` 是用来表示日期和时间(但不包含时区信息)的一个类。如果你想要获取前一天的18:00时间点,你可以这样做:
```java
import java.time.LocalDateTime;
import java.time.ZoneId; // 如果你想添加时区
// 获取当前日期的前一天
LocalDate yesterday = LocalDateTime.now().minusDays(1);
// 将昨天的日期设置为18:00
LocalDateTime previousDayAt18 = LocalDateTime.of(yesterday, LocalTime.of(18, 0));
// 如果你需要考虑时区,提供一个ZoneId实例
ZoneId zone = ZoneId.systemDefault(); // 使用系统默认时区
LocalDateTime withTimeZone = previousDayAt18.atZone(zone);
```
上述代码首先获取当前日期并减去一天,然后创建一个新的 `LocalDateTime` 对象,指定时间为18:00。如果需要在特定时区显示时间,使用 `atZone()` 方法将 `LocalDateTime` 转换到那个时区。
相关问题
LocalDateTime时间前一天
要获取前一天的日期,你可以使用Java 8引入的`LocalDateTime`类和`minusDays()`方法。以下是一个示例代码:
```java
import java.time.LocalDate;
import java.time.LocalDateTime;
public class PreviousDay {
public static void main(String[] args) {
LocalDateTime currentDate = LocalDateTime.now();
LocalDateTime previousDay = currentDate.minusDays(1);
System.out.println("当前日期时间: " + currentDate);
System.out.println("前一天日期时间: " + previousDay);
LocalDate currentDateOnly = currentDate.toLocalDate();
LocalDate previousDayOnly = previousDay.toLocalDate();
System.out.println("当前日期: " + currentDateOnly);
System.out.println("前一天日期: " + previousDayOnly);
}
}
```
在上面的示例中,`LocalDateTime.now()`方法用于获取当前日期和时间。然后,使用`minusDays(1)`方法来获取前一天的日期和时间。最后,使用`toLocalDate()`方法将`LocalDateTime`对象转换为`LocalDate`对象,获得日期部分。
注意:以上代码假设你当前所在的时区是正确的。如果你需要处理不同时区的日期和时间,可以使用`ZonedDateTime`类来进行调整。
localdatetime获取前一天0点
以下是获取前一天0点的示例代码:
```java
LocalDateTime now = LocalDateTime.now();
LocalDateTime yesterdayMidnight = now.minusDays(1).withHour(0).withMinute(0).withSecond(0).withNano(0);
```
首先获取当前时间`now`,然后使用`minusDays(1)`方法获取前一天的时间,接着使用`withHour(0)`、`withMinute(0)`、`withSecond(0)`、`withNano(0)`方法将小时、分钟、秒、纳秒设置为0,从而得到前一天的0点时间。
阅读全文