LocalDate dateOnly = dateTime.toLocalDate(); 怎么转换为Date
时间: 2024-11-29 18:12:53 浏览: 18
如果你想要将 `LocalDate` 转换回 `java.util.Date`,你可以使用 `java.time.LocalDate` 类提供的 `atStartOfDay()` 方法结合 `java.util.Calendar` 或 `java.time.ZonedDateTime` 来实现。以下是示例:
```java
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Calendar;
import java.util.Date;
LocalDate dateOnly = ...; // 假设这是已经处理过的日期
// 创建一个ZonedDateTime对象,然后转换为Date
ZonedDateTime zonedDateTime = dateOnly.atStartOfDay(ZoneId.systemDefault());
Date dateWithZeroTime = zonedDateTime.toInstant().toEpochMilli() // 获取毫秒数
.atZone(ZoneId.systemDefault()) // 转换回系统默认时区的Date
.toLocalDate().toInstant().toDate(); // 最后再次转换成Date类型
// dateWithZeroTime 就是一个只包含日期部分的新 Date 对象了
```
在这个例子中,我们首先确保 `dateOnly` 没有时间信息,然后添加一个起始日的时分秒,并调整到系统的默认时区。
阅读全文