Java 8 examples to show you how to convert from Instant
to LocalDateTime
1. Instant -> LocalDateTime
The java.time.LocalDateTime
has no concept of time zone, just provide a zero offset UTC+0.
InstantExample1.java
package com.favtuts.time; import java.time.Instant; import java.time.LocalDateTime; import java.time.ZoneOffset; public class InstantToLocalDateTime { public static void main(String[] args) { convertInstantToLocalDateTime(); } static void convertInstantToLocalDateTime() { // 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); } }
Output
Instant : 2016-08-18T06:17:10.225Z
LocalDateTime : 2016-08-18T06:17:10.225
2. LocalDateTime -> Instant
InstantExample2.java
package com.favtuts.time; import java.time.Instant; import java.time.LocalDateTime; import java.time.Month; import java.time.ZoneOffset; public class InstantToLocalDateTime { public static void main(String[] args) { convertLocalDateTimeToInstant(); } static void convertLocalDateTimeToInstant() { // 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); } }
Output
LocalDateTime : 2016-08-18T06:17:10
Instant : 2016-08-18T06:17:10Z
Download Source Code
$ git clone https://github.com/favtuts/java-core-tutorials-examples
$ cd java-basic/time