0
点赞
收藏
分享

微信扫一扫

Java8中 Date和LocalDateTime的相互转换

梦幻之云 2022-01-15 阅读 150

将Date转换为LocalDatetime

//方法1:
//1.从日期获取ZonedDateTime并使用其方法toLocalDateTime()获取LocalDateTime
//2.使用LocalDateTime的Instant()工厂方法

Date date = new Date();
Instant instant = date.toInstant();
ZoneId zoneId = ZoneId.systemDefault();
LocalDateTime localDateTime = instant.atZone(zoneId).toLocalDateTime();
System.out.println("LocalDateTime = " + localDateTime);

//方法2:
//也可以使用LocalDateTime的FactoryInput()方法使用系统的默认时区。

LocalDateTime localDateTime2 = LocalDateTime.ofInstant(date.toInstant(), zoneId);
System.out.println("LocalDateTime2 = " + localDateTime2);

将LocalDateTime转换为Date

//1.使用atZone()方法将LocalDateTime转换为ZonedDateTime
//2.将ZonedDateTime转换为Instant,并从中获取Date

ZoneId zoneId = ZoneId.systemDefault();
LocalDateTime localDateTime = LocalDateTime.now();
ZonedDateTime zdt = localDateTime.atZone(zoneId);
Date date = Date.from(zdt.toInstant());
System.out.println("Date = " + date);

举报

相关推荐

0 条评论