Converter EpochTime para LocalDateTime
Neste tutorial veremos como converter EpochTime para LocalDateTime no Java

Este será um curto tutorial com uma simples dica de como converter EpochTime
para LocalDateTime
no Java.
O intuito deste breve tutorial é demonstrar de uma forma simples e prática como fazer a conversão de uma informação do tipo EpochTime
para o tipo LocalDateTime.
O que é EpochTime ?
EpochTime é muito conhecido como Unix timestamp e representa o número de segundos passados desde a meia-noite UTC do dia 1 de janeiro de 1970 e é um padrão muito adotado como retorno padrão para dados do tipo data em Apis.
O que será abordado?
O que farei neste tutorial é usar como exemplo o retorno de uma api onde por padrão ela disponibiliza os dados do tipo data/hora no formato padrão EpochTime e irei converter para um formato legível para o ser humano, no caso para o padrão LocalDateTime
.
Como Converter EpochTime para LocalDateTime
Abaixo mostro o código que foi criado para demonstrar como fazer a conversão do formato EpochTime para o formato LocalDateTime no Java.
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
public class EpochTimeLocalDateTime {
public static void main(String[] args) {
long epochTime = 1664913451000L;
Instant instant = Instant
.ofEpochMilli(epochTime);
ZoneId zoneId = ZoneId.systemDefault();
LocalDateTime localDateTime = instant
.atZone(zoneId).toLocalDateTime();
String datePattern = "dd-MM-yyyy HH:mm:ss";
DateTimeFormatter format = DateTimeFormatter
.ofPattern(datePattern);
String formattedDateTime = localDateTime
.format(format);
System.out.println("epochTime: " + epochTime);
System.out.println("localDateTime: " + formattedDateTime);
}
}
Uma breve explicação do código acima:
-
1ª criamos uma variável contendo a data no formato EpochTime ;
-
Depois convertemos a data (
EpochTime
), para instant em Milissegundos usando o método (ofEpochMilli
) da ClasseInstant
; -
Após obtemos a zona padrão do sistema e então é feita a conversão para
LocalDateTime
; -
Enfim definimos o padrão de saída a ser aplicado ao (
format
) usando o método (ofPattern
) da classeDateTimeFormatter
. -
E por ultimo é realizada a conversão para o formato de
String
usando o método (format
), presente na classeLocalDateTime
; -
E logo após é realizada a impressão dos valores na console da IDE;
Abaixo mostro uma breve descrição da saída da execução do código acima e o que é impresso no console da IDE:
-
Na 1ª linha é exibido a data no formato (EpochTime);
-
Na 2ª linha é exibido a data no formato (LocalDateTime);
epochTime: 1664913451000
localDateTime: 04-10-2022 16:57:31
Segue abaixo um pequeno Vídeo explicativo do processo e implementação do código de conversão do tipo EpochTime para o tipo LocalDateTime no Java: