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、吐槽

这些转换还是有点蒙,还得要看着老师的代码慢慢理解和摸索。

标签


© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1