Java 8 - мгновенное преобразование в LocalDateTime
Примеры Java 8, чтобы показать вам, как преобразовать изInstant
вLocalDateTime
1. Мгновенно → LocalDateTime
java.time.LocalDateTime
не имеет понятия о часовом поясе, просто укажите нулевое смещение UTC + 0.
InstantExample1.java
package com.example.date; import java.time.Instant; import java.time.LocalDateTime; import java.time.ZoneOffset; public class InstantExample1 { public static void main(String[] argv) { // Parse a ISO 8601 Date directly //Instant instant = Instant.parse("2016-08-18T06:17:10.225Z"); Instant instant = Instant.now(); System.out.println("Instant : " + instant); //Convert instant to LocalDateTime, no timezone, add a zero offset / UTC+0 LocalDateTime ldt = LocalDateTime.ofInstant(instant, ZoneOffset.UTC); System.out.println("LocalDateTime : " + ldt); } }
Выход
Instant : 2016-08-18T06:17:10.225Z LocalDateTime : 2016-08-18T06:17:10.225
2. LocalDateTime → Мгновенно
InstantExample2.java
package com.example.date; import java.time.*; public class InstantExample2 { public static void main(String[] argv) { // Hard code a date time LocalDateTime dateTime = LocalDateTime.of(2016, Month.AUGUST, 18, 6, 17, 10); System.out.println("LocalDateTime : " + dateTime); // Convert LocalDateTime to Instant, UTC+0 Instant instant = dateTime.toInstant(ZoneOffset.UTC); System.out.println("Instant : " + instant); } }
Выход
Instant : 2016-08-18T06:17:10.225Z LocalDateTime : 2016-08-18T06:17:10.225