1
resposta

[Projeto] Convertendo horário para outro fuso

Olá!

Segue minha resolução:

import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;


public class OutroFusoHorario {
    public static void main(String[] args) {

        DateTimeFormatter horaFormatada = DateTimeFormatter.ofPattern("HH:mm");
        ZoneId zona = ZoneId.systemDefault();
        ZonedDateTime horaLocal = ZonedDateTime.now(zona);
        ZonedDateTime horaSidney =
                horaLocal.withZoneSameInstant(ZoneId.of("Australia/Sydney"));

        System.out.println("Horário atual no sistema: " + horaLocal.format(horaFormatada));
        System.out.println("Horário atual em Sydney: " + horaSidney.format(horaFormatada));
    }
}

1 resposta

Olá, Victor, como vai?

O código apresentado utiliza corretamente a API java.time para realizar a manipulação de fusos horários. A escolha do método withZoneSameInstant é a mais adequada para este cenário, pois ele garante que o ponto exato no tempo seja preservado enquanto altera apenas a referência da zona horária. O uso do DateTimeFormatter com o padrão HH:mm também atende com precisão ao que foi solicitado no exercício, resultando em uma saída limpa e organizada.

Parabéns por compartilhar a sua resolução e continue praticando as conversões de data e hora. O fórum está à disposição.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!