java中datetime怎么转换成date 和time
时间: 2023-12-10 19:56:15 浏览: 82
在Java中,可以通过`java.util.Date`和`java.sql.Time`类来进行日期和时间的处理。要将`java.time.LocalDateTime`转换为`java.util.Date`和`java.sql.Time`,可以使用如下代码:
```java
// 将 LocalDateTime 转换为 Date
LocalDateTime localDateTime = LocalDateTime.now();
Date date = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
// 将 LocalDateTime 转换为 Time
LocalDateTime localDateTime = LocalDateTime.now();
Time time = Time.valueOf(localDateTime.toLocalTime());
```
其中,`ZoneId.systemDefault()`表示使用系统默认时区,也可以根据实际情况进行设置。反过来,也可以通过`java.util.Date`和`java.sql.Time`类的方法将其转换为`LocalDateTime`对象:
```java
// 将 Date 转换为 LocalDateTime
Date date = new Date();
LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());
// 将 Time 转换为 LocalDateTime
Time time = new Time(System.currentTimeMillis());
LocalDateTime localDateTime = LocalTime.of(time.getHours(), time.getMinutes(), time.getSeconds()).atDate(LocalDate.now());
```
需要注意的是,`java.util.Date`和`java.sql.Time`类已经过时,建议使用`java.time`包中的日期和时间类来进行处理。
阅读全文