Java LocalDate类型 转 java.util.Date类型
时间: 2024-06-19 18:04:03 浏览: 161
String类型转localDate,date转localDate的实现代码
5星 · 资源好评率100%
Java 8 引入了新的日期时间 API,其中包含 LocalDate 类型和 java.util.Date 类型。它们之间的转换可以使用 Instant 类型进行中转。可以使用以下代码将 LocalDate 类型转换为 java.util.Date 类型:
```
LocalDate localDate = LocalDate.now();
Instant instant = localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant();
Date date = Date.from(instant);
```
解释一下上面的代码:
1. 首先获取当前的 LocalDate 对象。
2. 然后使用 atStartOfDay() 方法将 LocalDate 对象转换为 LocalDateTime 对象。
3. 接着使用 atZone() 方法将 LocalDateTime 对象转换为 ZonedDateTime 对象,并指定默认时区。
4. 最后,使用 toInstant() 方法将 ZonedDateTime 对象转换为 Instant 对象,再使用 Date 类的 from() 方法将 Instant 对象转换为 java.util.Date 类型。
如果需要将 java.util.Date 类型转换为 LocalDate 类型,可以使用以下代码:
```
Date date = new Date();
Instant instant = date.toInstant();
LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
LocalDate localDate = localDateTime.toLocalDate();
```
解释一下上面的代码:
1. 首先创建一个 java.util.Date 对象。
2. 然后使用 toInstant() 方法将 Date 对象转换为 Instant 对象。
3. 接着使用 ofInstant() 方法将 Instant 对象转换为 LocalDateTime 对象,并指定默认时区。
4. 最后,使用 toLocalDate() 方法将 LocalDateTime 对象转换为 LocalDate 类型。
阅读全文