LocalDate与Date相互转换
时间: 2024-02-03 17:01:39 浏览: 26
你可以使用`java.time.LocalDate`和`java.util.Date`类来实现`LocalDate`和`Date`之间的相互转换。
首先,将`LocalDate`转换为`Date`,可以使用以下代码:
```java
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Date;
LocalDate localDate = LocalDate.now();
Date date = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
```
这里,我们使用了`atStartOfDay(ZoneId.systemDefault()).toInstant()`方法来将`LocalDate`转换为`Instant`,然后使用`Date.from()`方法将`Instant`转换为`Date`对象。
接下来,将`Date`转换为`LocalDate`,可以使用以下代码:
```java
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Date;
Date date = new Date();
LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
```
这里,我们使用了`toInstant().atZone(ZoneId.systemDefault()).toLocalDate()`方法来将`Date`转换为`Instant`,然后使用`atZone()`方法将其设置为默认时区,最后使用`toLocalDate()`方法将其转换为`LocalDate`对象。
这样,你就可以在`LocalDate`和`Date`之间进行相互转换了。记得在使用之前先导入相关的包。