Conversor de Data/Hora
Um parser abrangente de data e hora que lida com timestamps Unix, datas ISO 8601, formato RFC 2822, estilos de data US/EU, datas por extenso e expressoes relativas. Converte entre formatos, mostra tempo relativo e fornece referencia de timestamp atual.
Especificacoes
Casos de Uso Comuns
- Depurar respostas de API contendo timestamps ou datas
- Converter timestamps de arquivos de log em datas legiveis
- Analisar datas de diferentes formatos regionais
- Calcular diferencas de tempo entre eventos
- Gerar timestamps para requisicoes de API
- Verificar tempos de expiracao de tokens (claim exp do JWT)
- Converter entre formatos de data para equipes internacionais
Funcionalidades
- Deteccao automatica de formato: timestamps Unix, ISO 8601, RFC 2822, datas US/EU e mais
- Analisar timestamps Unix em segundos, milissegundos, microssegundos ou nanossegundos
- Processar datas ISO 8601 com ou sem hora (2024-01-25T12:00:00Z)
- Analisar formato US (01/25/2024), formato EU (25.01.2024) e datas por extenso (January 25, 2024)
- Reconhecer expressoes relativas: now, today, yesterday, tomorrow
- Mostrar tempo relativo ("ha 2 horas", "em 3 dias")
- Badges de status Passado/Futuro/Hoje
- Exibir dia da semana, numero da semana, trimestre e dia do ano
- Grade de metricas do calendario (semana do ano, trimestre, dia do ano)
- Secao de informacoes adicionais (fuso horario, dias no mes, ano bissexto)
- Converter para multiplos formatos de saida com botoes de copia
- Saida em microssegundos e nanossegundos Unix
- Cartao de referencia da hora atual com botao de atualizar
Exemplos
Timestamp Unix (milissegundos)
Experimente →Um timestamp estilo JavaScript em milissegundos.
1706188800000Dicas
- JavaScript Date.now() retorna milissegundos; a maioria das ferramentas Unix usa segundos.
- O formato ISO 8601 (2024-01-25T12:00:00Z) e o mais portavel e inequivoco.
- Use timestamps UTC para armazenamento; converta para hora local apenas para exibicao.
- Quando uma data e ambigua (ex.: 01/02/2024), a ferramenta usa pistas de contexto para determinar o formato.
- O "Problema do Ano 2038" afeta sistemas de 32 bits que usam inteiros com sinal para segundos Unix.
Entendendo Conversor de Data/Hora
Timestamps Unix representam um momento especifico no tempo como o numero de segundos decorridos desde a epoca Unix: 1 de janeiro de 1970, as 00:00:00 UTC. Esta representacao simples em inteiro e o formato de tempo universal na computacao, usado por bancos de dados, APIs, sistemas de arquivos, arquivos de log e interfaces de sistemas operacionais. O formato e inequivoco — ao contrario de datas legiveis por humanos, um timestamp Unix sempre se refere a exatamente um momento no tempo, independentemente do fuso horario.
Dois niveis de precisao sao comuns. Timestamps com precisao de segundos (10 digitos, como 1738800000) sao o formato Unix tradicional usado pela maioria das APIs Unix, bancos de dados e pela funcao C time(). Timestamps com precisao de milissegundos (13 digitos, como 1738800000000) sao usados pelo JavaScript (Date.now()), Java (System.currentTimeMillis()) e muitas APIs web. Esta ferramenta detecta automaticamente a precisao e processa ambos corretamente.
ISO 8601 e o formato padrao legivel por humanos para data-hora: 2025-02-05T12:00:00Z. O T separa data e hora, e Z indica UTC (hora Zulu). Offsets de fuso horario usam a notacao +HH:MM ou -HH:MM. ISO 8601 e exigido pelo JSON Schema, amplamente usado em APIs REST e recomendado para qualquer troca de strings de data-hora. O formato RFC 2822 (usado em cabecalhos de email) e outra representacao textual comum.
O tratamento de fusos horarios e a fonte mais comum de bugs de data-hora. Desenvolvedores frequentemente confundem timestamps UTC com horas locais, aplicam conversoes de fuso horario incorretamente ou armazenam horas locais sem informacao de fuso horario. A melhor pratica e sempre armazenar e transmitir horas em UTC, convertendo para hora local apenas para exibicao.
Sistemas que armazenam timestamps Unix como inteiros de 32 bits com sinal sofrerao overflow em 19 de janeiro de 2038, as 03:14:07 UTC, resultando em um numero negativo que representa dezembro de 1901. Isso e analogo ao Y2K, mas afeta a infraestrutura computacional de forma mais ampla. A solucao e usar inteiros de 64 bits, o que estende o alcance para bilhoes de anos. A maioria dos sistemas modernos ja usa tempo de 64 bits, mas sistemas embarcados e codigo legado ainda podem ser vulneraveis.
Ao escolher entre armazenar datas como timestamps ou strings formatadas, considere o caso de uso. Timestamps (inteiros) sao ideais para cenarios computacionalmente intensivos como ordenacao, calculo de duracoes e comparacao de datas — sao compactos, inequivocos e neutros em relacao a fusos horarios. Strings ISO 8601 sao preferiveis quando a legibilidade humana importa, quando o contexto de fuso horario precisa ser preservado ou quando o banco de dados possui tipos datetime nativos. O timestamptz do PostgreSQL, por exemplo, armazena internamente em UTC e converte para exibicao.
Datas que parecem estar erradas por um dia sao quase sempre causadas por confusao de fuso horario. Um timestamp UTC para 5 de fevereiro as 23:00 UTC ja e 6 de fevereiro em fusos UTC+2. Em JavaScript, Date() usa hora local para strings apenas com data, mas UTC para strings datetime com designadores de fuso horario. Ser explicito sobre fusos horarios e usar UTC consistentemente para armazenamento e transmissao previne esses bugs sutis.