Java

Como Converter Date para OffsetDateTime no Java

Neste tutorial mostro como converter Date para OffsetDateTime no #Java


 

Como Converter Date para OffsetDateTime no Java
logo java

 

 

Este em um breve tutorial de como podemos converter um valor do tipo Date para um valor do tipo OffsetDateTime usando o Java.

O intuito deste tutorial Ă© mostrar uma forma prĂ¡tica e rĂ¡pida de como podemos trabalhar com os formatos Date e OffsetDateTime no Java, pois geralmente a manipulaĂ§Ă£o  do tipo (Date) Ă© algo um pouco complicado principalmente quando queremos comparar duas datas distintas ou calcular o tempo decorrido entre uma data e outra e a utilizarmos  a classe OffsetDateTime facilitar  a manipulaĂ§Ă£o de variĂ¡veis do tipo (data), jĂ¡ que ela possui muitos mĂ©todos que auxilia na manipulaĂ§Ă£o de datas.

 

Abaixo mostro o cĂ³digo que foi criado para demonstrar Como Converter Date para OffsetDateTime no Java.

import java.time.Instant;
import java.time.OffsetDateTime;
import java.time.ZoneOffset;
import java.util.Date;

public class ConvertDateToOffsetDateTime {

    public static void main(String[] args) {

      Date date = new Date();
      Instant instant = date.toInstant();
      ZoneOffset offset = ZoneOffset.of("-03:00");

      OffsetDateTime offsetDateTime = OffsetDateTime.ofInstant(instant, offset);

      System.out.println("instant: " + instant);
      System.out.println("Date: " + date);
        System.out.println("OffsetDateTime: " + offsetDateTime);

    }

}

Uma breve explicaĂ§Ă£o do cĂ³digo acima:

  • 1ª Ă© atribuĂ­mos a data atual a variĂ¡vel (date)  com  usando a instancia (new Date());
  • Depois  atribuĂ­mos  o Instant a variĂ¡vel (date) usando o mĂ©todo (toInstant);
  • Configuramos a zona do offset para (-03:00) com o mĂ©todo (of) da classe  ZoneOffset;
  • Por ultimo Ă© realizada a conversĂ£o para o formato (OffsetDateTime) com o mĂ©todo (ofInstant) da classe (OffsetDateTime)  e atribuĂ­mos o valor a variĂ¡vel (offsetDateTime);
  • 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 (Instant);
  • Na 2ª linha Ă© exibido a data no formato (Date);
  • Na 3ª  linha Ă© exibido a data no formato (OffsetDateTime);

 

instant: 2023-11-30T19:03:02.565Z
Date: Thu Nov 30 16:03:02 BRT 2023
OffsetDateTime: 2023-11-30T16:03:02.565-03:00



Segue abaixo um pequeno VĂ­deo explicativo do processo e implementaĂ§Ă£o do cĂ³digo de conversĂ£o do tipo (Date) para o tipo (OffsetDateTime):

Abaixo segue link do Github com o cĂ³digo fonte que utilizei  para implementaĂ§Ă£o deste tutorial:

CĂ³digo Fonte


Leave a Reply

Your email address will not be published. Required fields are marked *