자바 8의 LocalDateTime과 구 Date 간의 상호 변환을 위해 다음과 같이 한다.


public class LocalDateTimeTest {


    @Test

    public void date2LocalDateTime() {

        Date date = new Date();

        System.out.println(date);

        LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());

        System.out.println(localDateTime);

    }


    @Test

    public void localDateTime2Date() {

        LocalDateTime localDateTime = LocalDateTime.now();

        System.out.println(localDateTime);

        Date date = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());

        System.out.println(date);

    }


}


Date는 Time Zone 개념이 포함되어 있기 때문에


Time Zone 개념이 제거된 LocalDateTime으로 변환하기 위해 Time Zone을 알려줘야 하고,


그 역도 마찬가지 이유이다.


Reference:

http://stackoverflow.com/questions/19431234/converting-between-java-time-localdatetime-and-java-util-date

Posted by izeye