Java8怎么把Date转为LocalDateTime
时间: 2023-07-28 11:28:57 浏览: 80
Java中实现LocalDateTime与Date相互转化
在 Java 8 中,可以通过 `java.util.Date` 和 `java.time.LocalDateTime` 类的相互转换来实现将 `Date` 转换为 `LocalDateTime`。
具体步骤如下:
1. 首先,需要将 `java.util.Date` 转换为 `java.time.Instant`。可以通过 `Date` 的 `toInstant()` 方法实现。
2. 然后,可以使用 `Instant` 的 `atZone()` 方法将其转换为指定时区的 `java.time.ZonedDateTime` 对象。
3. 最后,可以使用 `ZonedDateTime` 对象的 `toLocalDateTime()` 方法将其转换为 `java.time.LocalDateTime` 对象。
示例代码如下:
```java
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;
public class DateToLocalDateTimeExample {
public static void main(String[] args) {
Date date = new Date();
LocalDateTime localDateTime = date.toInstant()
.atZone(ZoneId.systemDefault())
.toLocalDateTime();
System.out.println("Date: " + date);
System.out.println("LocalDateTime: " + localDateTime);
}
}
```
输出结果类似于:
```
Date: Wed Jul 14 14:11:08 CST 2021
LocalDateTime: 2021-07-14T14:11:08.314
```
需要注意的是,`Date` 类和 `LocalDateTime` 类都不包含时区信息,因此在转换时需要指定时区。示例代码中使用的是系统默认时区,也可以根据需要指定其他时区。
阅读全文