Ir ao topo

Tecnobyte

Logomarca da Tecnobyte
Contato por WhatsApp

WhatsApp

(69) 3421-6756

Contato por Telefone

(69) 3421-6756

(69) 3421-6757

Enviar mensagem

Enviar

mensagem

Contato por Facebook

Facebook

Atendimento de segunda a sexta, das 08h00 às 19h00 (horário de Brasília).

JavaScript

Como exibir a hora corrente em um fuso horário específico?

Banner

O código abaixo é um exemplo de como podemos exibir a hora corrente para um fuso horário específico. Certamente existem outras formas, mas a intenção aqui foi mostrar alguns cálculos com data e hora que podem ser úteis também em outras situações.

<html><body>
<h1 id="saida">Saída</h1>
<script>
setInterval(() => {

	// Pega a data/hora atual no fuso horário UTC
	const data = new Date();
	
	// Pega a data em milissegundos.
	var ms = data.getTime();
	
	// Define o fuso horário alvo, em minutos.
	const fusoHorarioAlvo = -180; // Brasília
	
	// Converte a data em milissegundos para o fuso horário alvo.
	ms = ms + fusoHorarioAlvo * 60000;
	
	// Pega somente os milissegundos decorridos desde a última meia noite.
	ms = ms % 86400000;
	
	// Pega a hora corrente.
	const h = Math.trunc(ms / 3600000);

	// Pega somente os milissegundos restantes.
	ms = ms % 3600000;
	
	// Pega os minutos da hora corrente.
	const m = Math.trunc(ms / 60000);
	
	// Pega somente os milissegundos restantes.
	ms = ms % 60000;
	
	// Pega os segundos da hora corrente.
	var s = Math.trunc(ms / 1000);
	
	// Exibe o resultado como h:m:s
	document.getElementById("saida").innerHTML =
		h.toString().padStart(2, '0') + ':' +
		m.toString().padStart(2, '0') + ':' +
		s.toString().padStart(2, '0');
}, 1000);
</script>
</body></html>

O conteúdo desta página pode ajudar alguém? Compartilhe!