DESKTOP-LODEUIH_20200902-罗祥

日志

问题

问题:java.util.Date <>java.time.ZonedDateTime <> java.time.LocalDateTime怎么转?
来源:早上的练习题
解决:
一,java.util.Date ==>java.time.ZonedDateTime ==> java.time.LocalDateTime
public static void main(String[] args) {
        
        Date date = new Date();
        // 从 Java 8 开始,java.util.Date类新增了toInstant方法
        Instant instant = date.toInstant() ;
    
        ZoneId zone = ZoneId.systemDefault(); // 根据OS确定的时区
        ZonedDateTime zdt = instant.atZone( zone );
    
        LocalDateTime datetime = zdt.toLocalDateTime() ;
        // LocalDateTime = LocalDate + LocalTime

    }
二,java.time.LocalDateTime ==> java.time.ZonedDateTime ==> java.util.Date
public static void main(String[] args) {
        
        LocalDate localDate = LocalDate.now();
        LocalTime localTime = LocalTime.now();
        LocalDateTime datetime = LocalDateTime.of( localDate , localTime );
        System.out.println( "LocalDateTime[ " + datetime + " ]");
        
        ZoneId zone = ZoneId.systemDefault(); // 根据OS确定的时区
        ZonedDateTime zdt = datetime.atZone( zone );
        
        Instant instant = zdt.toInstant() ;
        
        // 从 Java 8 开始 java.util.Date类新增了 from(Instant)方法(类方法)
        Date date = Date.from( instant ) ;
        System.out.println( "Date[ " + date + " ]");

    }

吐槽

​ 是我写的慢了,还是时间过得快了,笔记都没写写完,就九点了。唉!

标签


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