DESKTOP-P665UA2_20200902-石家雨
1、问题
1、将Date转换为LocalDatetime
(1)从日期获取ZonedDateTime,然后使用方法toLocalDateTime()获取LocalDateTime
(2)使用LocalDateTime的Instant()方法
例如:
public class Test {
public static void main(String[] args) {
Date date = new Date();
Instant instant = date.toInstant();
ZoneId zoneId = ZoneId.systemDefault();
LocalDateTime localDateTime = instant.atZone(zoneId).toLocalDateTime();
System.out.println("Date = " + date);
System.out.println("LocalDateTime = " + localDateTime);
}
}
2、要将LocalDateTime转换回Date,我们可以:
(1)使用atZone()方法将LocalDateTime转换为ZonedDateTime
(2)将ZonedDateTime转换为Instant,并从中获取Date
public class Test {
public static void main(String[] args) {
ZoneId zoneId = ZoneId.systemDefault();
LocalDateTime localDateTime = LocalDateTime.now();
ZonedDateTime zdt = localDateTime.atZone(zoneId);
Date date = Date.from(zdt.toInstant());
System.out.println("LocalDateTime = " + localDateTime);
System.out.println("Date = " + date);
}
}
2、吐槽
这些转换还是有点蒙,还得要看着老师的代码慢慢理解和摸索。
点赞