여기에 내가 생각해 낸 것이 있습니다 (그리고 모든 Date Time 수수께끼와 마찬가지로 이상한 시간대-윤년-일광 조정에 따라 반박 될 것입니다 : D)
라운드 트립 : Date
<<->>LocalDateTime
주어진: Date date = [some date]
(1) LocalDateTime
<< Instant
<<Date
Instant instant = Instant.ofEpochMilli(date.getTime());
LocalDateTime ldt = LocalDateTime.ofInstant(instant, ZoneOffset.UTC);
(2) Date
<< Instant
<<LocalDateTime
Instant instant = ldt.toInstant(ZoneOffset.UTC);
Date date = Date.from(instant);
예:
주어진:
Date date = new Date();
System.out.println(date + " long: " + date.getTime());
(1) LocalDateTime
<< Instant
<< Date
:
만들기 Instant
에서 Date
:
Instant instant = Instant.ofEpochMilli(date.getTime());
System.out.println("Instant from Date:\n" + instant);
만들기 Date
에서 Instant
(필요는 없습니다 만, 그림) :
date = Date.from(instant);
System.out.println("Date from Instant:\n" + date + " long: " + date.getTime());
만들기 LocalDateTime
에서Instant
LocalDateTime ldt = LocalDateTime.ofInstant(instant, ZoneOffset.UTC);
System.out.println("LocalDateTime from Instant:\n" + ldt);
(2) Date
<< Instant
<<LocalDateTime
만들기 Instant
에서 LocalDateTime
:
instant = ldt.toInstant(ZoneOffset.UTC);
System.out.println("Instant from LocalDateTime:\n" + instant);
만들기 Date
에서 Instant
:
date = Date.from(instant);
System.out.println("Date from Instant:\n" + date + " long: " + date.getTime());
출력은 다음과 같습니다.
Fri Nov 01 07:13:04 PDT 2013 long: 1383315184574
Instant from Date:
2013-11-01T14:13:04.574Z
Date from Instant:
Fri Nov 01 07:13:04 PDT 2013 long: 1383315184574
LocalDateTime from Instant:
2013-11-01T14:13:04.574
Instant from LocalDateTime:
2013-11-01T14:13:04.574Z
Date from Instant:
Fri Nov 01 07:13:04 PDT 2013 long: 1383315184574