将TemporalAccessor转换为Date。
时间: 2024-02-03 15:14:15 浏览: 18
可以使用`java.time`包中的`java.time.LocalDate`类来将`TemporalAccessor`转换为`Date`。以下是一个示例代码:
```java
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAccessor;
import java.util.Date;
public class TemporalAccessorToDateConverter {
public static Date convert(TemporalAccessor temporalAccessor) {
LocalDate localDate = LocalDate.from(temporalAccessor);
return Date.from(localDate.atStartOfDay().atZone(java.time.ZoneId.systemDefault()).toInstant());
}
public static void main(String[] args) {
String dateString = "2022-01-01";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
TemporalAccessor temporalAccessor = formatter.parse(dateString);
Date date = TemporalAccessorToDateConverter.convert(temporalAccessor);
System.out.println(date);
}
}
```
在上面的示例中,我们首先使用`DateTimeFormatter`将日期字符串解析为`TemporalAccessor`对象,然后使用`LocalDate.from()`方法将其转换为`LocalDate`对象。接下来,我们将`LocalDate`对象转换为`java.util.Date`对象,并将其返回。最后,我们在`main()`方法中测试了我们的转换方法。