LocalDateTime转成Date类型
时间: 2023-11-16 08:57:32 浏览: 79
LocalDateTime可以通过以下两种方式转换成Date类型:
1.使用LocalDateTime.atZone()方法将LocalDateTime转换成ZonedDateTime,再使用Date.from()方法将ZonedDateTime转换成Date类型。
2.使用Timestamp.valueOf()方法将LocalDateTime格式化成Timestamp类型,再使用Date的构造方法将Timestamp转换成Date类型。
下面是代码示例:
```
// 方法一
LocalDateTime localDateTime = LocalDateTime.parse("2019-11-15T13:15:30");
Instant instant = localDateTime.atZone(ZoneId.systemDefault()).toInstant();
Date date = Date.from(instant);
// 方法二
Timestamp timestamp = Timestamp.valueOf(localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
Date date = new Date(timestamp.getTime());
```
相关问题
LocalDateTime 转成date
`LocalDateTime` 是Java 8引入的一个日期和时间类,它表示的是没有时区信息的时间点,包含了年、月、日、小时、分钟、秒以及毫秒。如果你想要将 `LocalDateTime` 转换成 `Date` 类型,Java 8之后的标准库并不直接提供转换,因为`java.util.Date`已经被标记为过时了,推荐使用 `ZonedDateTime` 或者 `Instant`。
不过,如果你坚持要用旧版的方式,可以借助 `java.sql.Date` 进行转换,步骤如下:
```java
import java.sql.Date;
import java.time.LocalDateTime;
// 创建 LocalDateTime 对象
LocalDateTime localDateTime = LocalDateTime.now();
// 添加1970-01-01T00:00:00Z(UTC)作为基准时间
long epochMilli = localDateTime.atZone(ZoneOffset.UTC).toInstant().toEpochMilli();
// 将毫秒转换为 Date 对象
Date date = new Date(epochMilli);
```
记住,这个过程会丢失原始的 `LocalDateTime` 中的时区信息,因为它默认是基于UTC的。
localdatetime转换成date
可以使用LocalDateTime的toLocalDate()方法将LocalDateTime转换为Date类型。具体代码如下:
LocalDateTime localDateTime = LocalDateTime.now();
Date date = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
阅读全文