LocalDateTime 转换为date 有几种方式
时间: 2024-04-11 15:24:07 浏览: 5468
LocalDateTime 转换为 Date 可以通过以下几种方式实现:
1. 使用toInstant()方法:可以通过将 LocalDateTime 对象转换为 Instant 对象,再通过 Date.from() 方法将 Instant 对象转换为 Date 对象。示例代码如下:
```
LocalDateTime localDateTime = LocalDateTime.now();
Instant instant = localDateTime.atZone(ZoneId.systemDefault()).toInstant();
Date date = Date.from(instant);
```
2. 使用atZone()方法:可以通过将 LocalDateTime 对象与指定的时区关联,再通过 Date.from() 方法将关联后的 LocalDateTime 对象转换为 Date 对象。示例代码如下:
```
LocalDateTime localDateTime = LocalDateTime.now();
ZoneId zoneId = ZoneId.systemDefault();
ZonedDateTime zonedDateTime = localDateTime.atZone(zoneId);
Date date = Date.from(zonedDateTime.toInstant());
```
3. 使用Calendar类:可以通过创建一个 Calendar 对象,并将 LocalDateTime 对象的年、月、日、时、分、秒等信息设置到 Calendar 对象中,再通过 Calendar 对象获取对应的 Date 对象。示例代码如下:
```
LocalDateTime localDateTime = LocalDateTime.now();
Calendar calendar = Calendar.getInstance();
calendar.set(localDateTime.getYear(), localDateTime.getMonthValue() - 1, localDateTime.getDayOfMonth(),
localDateTime.getHour(), localDateTime.getMinute(), localDateTime.getSecond());
Date date = calendar.getTime();
```
阅读全文