Java怎么把LocalDate转为Date
时间: 2024-01-02 15:05:14 浏览: 85
在Java 8中,`LocalDate`类和`Date`类都是不同的日期时间API。`LocalDate`只包含日期部分,而`Date`包含日期和时间部分。要将`LocalDate`转换为`Date`,可以使用`java.util.Date`类的`from`方法。以下是一个示例代码:
```
import java.time.LocalDate;
import java.util.Date;
public class Main {
public static void main(String[] args) {
LocalDate localDate = LocalDate.now();
Date date = Date.from(localDate.atStartOfDay().atZone(java.time.ZoneId.systemDefault()).toInstant());
System.out.println("LocalDate : " + localDate);
System.out.println("Date : " + date);
}
}
```
在这个示例代码中,我们首先获取当前的`LocalDate`,然后使用`atStartOfDay()`方法将其转换为`LocalDateTime`,使用`atZone()`方法将其转换为系统默认的时区`ZoneId`,最后使用`toInstant()`方法将其转换为`Instant`类型,然后使用`Date.from()`方法将其转换为`Date`类型。注意,需要在`atZone()`方法中指定时区,否则可能会出现`java.lang.IllegalArgumentException: Timezone not found`异常。
阅读全文