Java8中 Date和LocalDateTime的相互轉換


一.在Java 8中將Date轉換為LocalDateTime

方法1:

將Date轉換為LocalDatetime,我們可以使用以下方法:

1.從日期獲取ZonedDateTime並使用其方法toLocalDateTime()獲取LocalDateTime
2.使用LocalDateTime的Instant()工廠方法

   
   
   
           

示例:

package insping;

import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;

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);

    }
}
   
   
   
           

結果:

Date = Fri Jun 16 15:35:26 CST 2017
LocalDateTime = 2017-06-16T15:35:26.970

   
   
   
           

方法2:

我們也可以使用LocalDateTime的FactoryInput()方法使用系統的默認時區。

LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), zoneId);
   
   
   
           

二.在Java 8中將LocalDateTime轉換為Date

要將LocalDateTime轉換回java.util.Date,我們可以使用以下步驟:

1.使用atZone()方法將LocalDateTime轉換為ZonedDateTime 
2.將ZonedDateTime轉換為Instant,並從中獲取Date

   
   
   
           

示例:

package insping;

import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.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);
    }
}

   
   
   
           

結果:

LocalDateTime = 2017-06-16T15:38:48.580
Date = Fri Jun 16 15:38:48 CST 2017

   
   
   
           

原文地址:https://blog.csdn.net/hspingcc/article/details/73332380


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM