Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Resolução

/**
 * Você trabalha em uma empresa de viagens internacionais e precisa de um sistema que exiba o horário atual
 * em diferentes países. Como a empresa tem clientes no Japão, o sistema deve ser capaz de mostrar o horário
 * atual na cidade de Tóquio, independente do fuso horário do computador onde o programa está rodando.
 *
 * Crie um programa que exiba o horário atual no fuso horário de Tóquio (Asia/Tokyo). Utilize a classe
 * ZonedDateTime para realizar a tarefa. Lembre-se de formatar a saída para exibir apenas horas,
 * minutos e segundos.
 *
 * Saída esperada:
 *
 * Horário atual em Tóquio: 21:04:09
 */
package com.github.lucasdevrj.exercicios;

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

public class FusoHorario {
    public static void main(String[] args) {
        ZoneId horarioNoJapao = ZoneId.of("Asia/Tokyo");

        ZonedDateTime horarioAtualBrasil = ZonedDateTime.now();

        ZonedDateTime horarioAtualJapao = horarioAtualBrasil.withZoneSameInstant(horarioNoJapao);

        DateTimeFormatter horarioFormatado = DateTimeFormatter.ofPattern("HH:mm:ss");

        System.out.println("Horário atual em Tóquio: " + horarioAtualJapao.format(horarioFormatado));
    }
}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Beleza?

1 resposta

Oi, Lucas, como vai?

Sua solução está correta e atende ao objetivo da atividade. O uso de ZoneId.of("Asia/Tokyo"), juntamente com ZonedDateTime e withZoneSameInstant(), garante que o horário exibido corresponda ao mesmo instante em Tóquio, independentemente do fuso configurado na máquina onde o programa é executado.

A formatação com DateTimeFormatter.ofPattern("HH:mm:ss") também está adequada para exibir apenas horas, minutos e segundos, conforme solicitado no enunciado.

Na sua visão, em quais situações práticas seria mais interessante converter um horário existente em vez de obter diretamente o horário do fuso desejado?

Parabéns pela resolução e por compartilhar seu código. Continue participando das discussões, e conte com o fórum sempre que precisar.

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