In Java 8, we can use Instant.ofEpochMilli().atZone()
to convert the epoch time in milliseconds back to LocalDate
or LocalDateTime
Epoch time to LocalDate
LocalDate ld = Instant.ofEpochMilli(epoch).atZone(ZoneId.systemDefault()).toLocalDate();
Epoch time to LocalDateTime
LocalDateTime ldt = Instant.ofEpochMilli(epoch).atZone(ZoneId.systemDefault()).toLocalDateTime();
P.S Epoch time is the number of seconds that have elapsed since 0:00:00 UTC on 1 January 1970
1. Epoch Time -> LocalDate || LocalDateTime
Get the current epoch time in long value and convert it back to LocalDate
or LocalDateTime
.
Java8ConvertEpoch.java
package com.favtuts.time; import java.time.Instant; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.ZoneId; public class EpochTimeConverter { public static void main(String[] args) { long epoch = Instant.now().toEpochMilli(); System.out.println(epoch); LocalDate ld = Instant.ofEpochMilli(epoch) .atZone(ZoneId.systemDefault()).toLocalDate(); System.out.println(ld); LocalDateTime ldt = Instant.ofEpochMilli(epoch) .atZone(ZoneId.systemDefault()).toLocalDateTime(); System.out.println(ldt); } }
Output
1654416314232
2022-06-05
2022-06-05T15:05:14.232
Download Source Code
$ git clone https://github.com/favtuts/java-core-tutorials-examples
$ cd java-basic/time