В Java 8 мы можем использовать Instant.ofepochmilli().в зоне()
для преобразования времени эпохи в миллисекундах обратно в Локальные данные
или Локальное время
Эпоха времени до Локальная дата
LocalDate ld = Instant.ofEpochMilli(epoch).atZone(ZoneId.systemDefault()).toLocalDate();
Время эпохи до LocalDateTime
LocalDateTime ldt = Instant.ofEpochMilli(epoch).atZone(ZoneId.systemDefault()).toLocalDateTime();
P.S Время эпохи – это количество секунд, прошедших с 0:00:00 UTC 1 января 1970 года
1. Время эпохи -> Локальная дата||Локальное время
Получите текущее время эпохи в длинном значении и преобразуйте его обратно в Локальную дату
или LocalDateTime
.
package com.mkyong.java8; import java.time.Instant; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.ZoneId; public class Java8ConvertEpoch { 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); } }
Выход
1581420629955 2020-02-11 2020-02-11T19:30:29.955
Рекомендации
Оригинал: “https://mkyong.com/java8/java-8-convert-epoch-time-milliseconds-to-localdate-or-localdatetime/”