Na colaboração globalizada e no desenvolvimento de software, tratamento de tempo é uma necessidade frequente: você pode precisar saber que horas são agora para um colega em Nova York e se é adequado para uma reunião, traduzir uma sequência numérica de timestamp retornada por uma API em data legível por humanos, ou configurar uma contagem regressiva para um marco importante. Integrar essas funções comuns em uma única página, pronta para usar ao abrir, é muito mais eficiente do que procurar o relógio do celular ou abrir o console para escrever código.
O valor central do Relógio Mundial (World Clock) é permitir que você veja simultaneamente o horário atual de vários fusos. O cérebro humano não é bom em calcular diferenças de fuso — Nova York é UTC-5, Londres é UTC+0, Tóquio é UTC+9, cálculo mental facilmente erra, especialmente com a interferência do horário de verão. Exibir os horários das cidades de forma intuitiva, com indicadores dia/noite para ver imediatamente se a outra pessoa está em horário de trabalho, melhora significativamente a eficiência da comunicação e agendamento entre fusos. A ferramenta usa SVG para desenhar relógios analógicos com ponteiros reais em vez de apenas números, também para uma percepção mais intuitiva do tempo.
Unix timestamp (Unix Timestamp / Epoch Time) é a forma mais universal de representação de tempo na computação, definido como o número total de segundos (ou milissegundos) de 01/01/1970 00:00:00 UTC até um determinado momento. Suas vantagens são independência de fuso horário, numeração compacta, cálculo conveniente — comparar qual dos dois tempos é mais antigo só precisa comparar a magnitude dos números, calcular diferença de tempo é só subtrair. Por isso armazenamento em banco de dados, retornos de API, sistemas de log quase todos usam timestamp, mas olhando um número como 1711699200 humanos não têm ideia de que dia é, a ferramenta de conversão resolve esse problema de tradução de「linguagem de máquina→linguagem humana」.
Segundos e milissegundos são as duas precisões comuns de timestamp: timestamp em segundos é um número de 10 dígitos (como 1711699200), em milissegundos é 13 dígitos (como 1711699200000). Date.now() do JavaScript retorna milissegundos, muitas APIs de backend usam segundos, a diferença entre eles é 1000x, se errar a unidade na conversão você obtém um horário completamente errado (diferença de mais de 40 anos), por isso a ferramenta tem botão de alternância de unidade para evitar esse problema.
A função de contagem regressiva parece simples mas é altamente prática: ao trabalhar com foco use pomodoro de 25 minutos, antes de reunião configure lembrete de 5 minutos, antes de lançamento configure 1 hora de preparação, ou configure uma contagem regressiva de longo prazo para datas importantes (lançamento, exame, aniversário) para ver os dias diminuindo com senso de urgência. As predefinições rápidas integradas (5 minutos, 15 minutos, 30 minutos, 1 hora, amanhã, próxima semana) cobrem a maioria dos cenários de contagem temporária, não precisa selecionar data manualmente, um clique e começa.
Por que todos os cálculos são feitos localmente no navegador? Primeiro, velocidade — atualizar o relógio a cada segundo não precisa de requisição de rede, resposta instantânea; segundo, privacidade — que horários você consulta, que contagem regressiva define não precisa ser informado a nenhum servidor; terceiro, confiabilidade — não depende de rede, funciona sem internet; quarto, precisão — usa diretamente o banco de dados de fusos IANA incorporado no navegador, trata automaticamente horário de verão e alterações de fuso, mais confiável do que manter sua própria tabela de fusos.
O banco de dados de fusos horários IANA (também chamado tz database / zoneinfo) é a biblioteca padrão global de regras de fuso horário, mantida pela comunidade, contém mudanças históricas e futuras de regras para todos os fusos horários do mundo, incluindo datas de início e fim do horário de verão, ajustes de deslocamento de fuso, etc. Os navegadores expõem esses dados através da API Intl, portanto a ferramenta não precisa carregar arquivos de dados de fuso de centenas de KB para tratar fusos globais corretamente, essa também é a vantagem do recurso nativo dos navegadores modernos.
É importante observar que esta ferramenta calcula com base no relógio do seu dispositivo local, se o horário do seu computador/celular estiver configurado incorretamente todos os resultados terão desvios; além disso, não é possível fazer contagem regressiva reversa para horários já passados (apenas suporta contagem regressiva para horários futuros); regras históricas de fuso (como horário de verão de muitos anos atrás) dependem da versão do tz database incorporada no seu navegador, horários recentes geralmente são precisos.