LocalDateTime如何判断当前是否为0点
时间: 2024-10-07 20:03:31 浏览: 44
Spring中使用LocalDateTime、LocalDate等参数作为入参
`LocalDateTime` 是 Java 8 中引入的时间日期类,它表示的是一个独立于时区的日期时间,包括年、月、日、小时、分钟、秒和纳秒。如果你想判断当前 `LocalDateTime` 是否是0点(即午夜12点),你可以直接创建一个表示0点的对象,然后进行比较。
首先,获取当前的 `LocalDateTime`:
```java
LocalDateTime now = LocalDateTime.now();
```
接着,创建一个表示0点的 `LocalDateTime` 对象:
```java
LocalDateTime midnight = LocalDateTime.ofInstant(Instant.ofEpochDay(0), ZoneId.systemDefault());
```
这里 `Instant.ofEpochDay(0)` 表示从公元纪年开始的第一个瞬间,也就是1970年1月1日的0点。
最后,使用 `isEqual()` 或 `isBefore()` 和 `isAfter()` 方法来判断两个 `LocalDateTime` 是否相等:
```java
if (now.isEqual(midnight)) {
System.out.println("现在是0点");
} else if (now.isBefore(midnight)) {
System.out.println("现在在0点之前");
} else {
System.out.println("现在在0点之后");
}
```
阅读全文