Local DateTime 和Date转换
时间: 2024-01-18 16:03:17 浏览: 70
在Java中,可以使用Java8中的java.time包来进行LocalDateTime和Date的转换。
1. LocalDateTime转Date
可以使用LocalDateTime的`atZone()`方法将其转换为ZonedDateTime,再使用`toInstant()`方法将其转换为Instant,最后使用`Date.from()`方法将其转换为Date对象。
示例代码:
```java
LocalDateTime localDateTime = LocalDateTime.now();
ZonedDateTime zonedDateTime = localDateTime.atZone(ZoneId.systemDefault());
Instant instant = zonedDateTime.toInstant();
Date date = Date.from(instant);
```
2. Date转LocalDateTime
可以使用Date的`toInstant()`方法将其转换为Instant,再使用`atZone()`方法将其转换为ZonedDateTime,最后使用`toLocalDateTime()`方法将其转换为LocalDateTime对象。
示例代码:
```java
Date date = new Date();
Instant instant = date.toInstant();
ZonedDateTime zonedDateTime = instant.atZone(ZoneId.systemDefault());
LocalDateTime localDateTime = zonedDateTime.toLocalDateTime();
```
需要注意的是,Date对象的精度只能到毫秒级别,而LocalDateTime可以表示更精确的时间,因此在转换时可能会损失精度。
阅读全文