Como usar o JavaScript para obter a data e hora no fuso horário do Brasil
Obtendo a Data e Hora Atuais no Fuso Horário do Brasil com JavaScript.
Glossário
Obtendo a Data e Hora Atuais no Fuso Horário do Brasil com JavaScript
Introdução
Quando se trata de desenvolvimento de aplicações web, muitas vezes precisamos lidar com datas e horas. É comum encontrarmos situações em que é necessário obter a data e hora atual, especialmente considerando o fuso horário do Brasil. Felizmente, isso pode ser facilmente feito utilizando JavaScript.
Obtendo a Data e Hora Atuais no Fuso Horário do Brasil
Para obter a data e hora atuais no fuso horário do Brasil com JavaScript, podemos usar o objeto Date
e métodos relacionados. Primeiramente, vamos criar uma instância do objeto Date
:
const dataAtual = new Date();
Ao criar uma nova instância do objeto Date
sem nenhum argumento, ele será automaticamente criado com a data e hora atuais do sistema. No entanto, devemos estar cientes de que esses valores serão baseados no fuso horário local da máquina em que o código está sendo executado. Portanto, precisamos ajustar para o fuso horário do Brasil.
Felizmente, o JavaScript possui o método toLocaleString()
que permite ajustar a exibição de datas e horas conforme o fuso horário local especificado. Podemos utilizá-lo para obter a data e hora no fuso horário do Brasil da seguinte forma:
const options = { timeZone: 'America/Sao_Paulo' };
const dataHoraBrasil = dataAtual.toLocaleString('pt-BR', options);
Nesse exemplo, definimos a opção timeZone
como 'America/Sao_Paulo'
, que corresponde ao fuso horário do Brasil. Ao utilizar o método toLocaleString()
com essas opções, a data e hora serão formatadas de acordo com o fuso horário do Brasil.



Como Configurar o Fuso Horário no JavaScript para o Brasil
Em algumas situações, pode ser necessário configurar o fuso horário no JavaScript para o Brasil. Isso geralmente ocorre quando estamos trabalhando com bibliotecas ou APIs que não possuem suporte para configuração automática do fuso horário.
Felizmente, o JavaScript oferece suporte para a configuração manual do fuso horário. Podemos utilizar a função Intl.DateTimeFormat().resolvedOptions()
para obter as opções de formatação de datas e horas atualmente definidas pelo ambiente de execução. Em seguida, podemos modificar a opção timeZone
para o fuso horário do Brasil.
Veja um exemplo de como fazer isso:
// Obtém as opções de formatação de datas e horas atualmente definidas
const opcoes = Intl.DateTimeFormat().resolvedOptions();
opcoes.timeZone = 'America/Sao_Paulo';
// Utiliza as novas opções para configurar o fuso horário do Brasil
const formatador = new Intl.DateTimeFormat('pt-BR', opcoes);
Nesse exemplo, definimos a opção timeZone
como 'America/Sao_Paulo'
, que corresponde ao fuso horário do Brasil. Em seguida, criamos uma nova instância do objeto Intl.DateTimeFormat()
com as novas opções de formatação definidas.
Convertendo Horários em Fuso Horário Internacional para o Fuso Horário do Brasil
Em muitas situações, precisamos lidar com horários em diferentes fusos horários, seja para converter um horário local para o fuso horário do Brasil ou vice-versa. O JavaScript também nos oferece recursos para realizar essa conversão de forma simples e eficiente.
Uma forma de converter horários de um fuso horário internacional para o fuso horário do Brasil é utilizando o método toLocaleString()
juntamente com a opção timeZone
. Podemos definir o fuso horário de destino como 'America/Sao_Paulo'
para obtermos a conversão correta.
Veja um exemplo de como realizar essa conversão:
const dataHora = new Date('2023-10-27T15:30:00');
const opcoes = {
timeZone: 'America/Sao_Paulo',
year: 'numeric',
month: 'numeric',
day: 'numeric',
hour: 'numeric',
minute: 'numeric',
second: 'numeric',
};
const dataHoraBrasil = dataHora.toLocaleString('pt-BR', opcoes);
Nesse exemplo, criamos uma instância do objeto Date
com um horário em um fuso horário internacional. Em seguida, definimos as opções para formatar a data e hora, incluindo o fuso horário do Brasil ('America/Sao_Paulo'
). Ao utilizar o método toLocaleString()
com essas opções, obtemos a conversão correta do horário para o fuso horário do Brasil.
Calculando Diferenças de Horário entre o Fuso Horário do Brasil e Outros Fusos Horários
Além de obter a data e hora no fuso horário do Brasil e converter horários entre fusos horários, é comum precisarmos calcular diferenças de horário entre o fuso horário do Brasil e outros fusos horários. O JavaScript nos oferece recursos que facilitam esse cálculo.
Para calcular diferenças de horário entre o fuso horário do Brasil e outro fuso horário, podemos utilizar o objeto Date
juntamente com os métodos getTimezoneOffset()
e getTime()
. O método getTimezoneOffset()
retorna a diferença em minutos entre o horário local e o horário UTC.



Veja um exemplo de como realizar esse cálculo:
const dataHoraBrasil = new Date();
const dataHoraUtc = new Date(dataHoraBrasil.getTime() + (dataHoraBrasil.getTimezoneOffset() * 60000));
Nesse exemplo, obtemos a data e hora atual no fuso horário do Brasil utilizando uma instância do objeto Date
. Em seguida, utilizamos o método getTimezoneOffset()
para obter a diferença entre o horário local e o horário UTC, multiplicando por 60000 para obtermos o valor em milissegundos. Ao somar essa diferença ao valor retornado por getTime()
, obtemos a data e hora correspondente em horário UTC.
Conclusão
Neste artigo, exploramos como usar o JavaScript para obter a data e hora no fuso horário do Brasil, configurar o fuso horário no JavaScript para o Brasil, converter horários em fuso horário internacional para o fuso horário do Brasil e calcular diferenças de horário entre o fuso horário do Brasil e outros fusos horários.
Esses recursos são essenciais para garantir que as datas e horas em nossas aplicações estejam corretas e alinhadas com o fuso horário do Brasil, proporcionando uma experiência consistente para os usuários. Lembre-se sempre de considerar os possíveis impactos de horário de verão e mudanças nas regras de ajuste de horário ao lidar com datas e horas em diferentes fusos horários.
Agora que você está familiarizado com essas técnicas, pode utilizá-las em seus projetos para obter e manipular datas e horas no fuso horário do Brasil com facilidade e precisão. Aproveite os recursos do JavaScript e garanta uma gestão eficiente do tempo em suas aplicações.
A Awari é a melhor plataforma para aprender sobre programação no Brasil.
Aqui você encontra cursos com aulas ao vivo, mentorias individuais com os melhores profissionais do mercado e suporte de carreira personalizado para dar seu próximo passo profissional e aprender habilidades como Data Science, Data Analytics, Machine Learning e mais.
Já pensou em aprender de maneira individualizada com profissionais que atuam em empresas como Nubank, Amazon e Google? Clique aqui para se inscrever na Awari e começar a construir agora mesmo o próximo capítulo da sua carreira em dados.


