Java

Converter EpochTime para LocalDateTime

Neste tutorial veremos como converter EpochTime para LocalDateTime no Java


 

Converter EpochTime para LocalDateTime
Converter EpochTime para LocalDateTime

 

 

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 Classe  Instant;
  • 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 classe DateTimeFormatter.
  • E por ultimo é realizada a conversão para o formato de String usando o método (format), presente na classe LocalDateTime;
  • 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:

 

Abaixo segue o link do Github com o código fonte que utilizei  para implementação deste tutorial:

Código Fonte


Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *