Conversor de Timestamp
Converta timestamps Unix (segundos ou milissegundos desde a Época Unix) em strings de data-hora legíveis e converta datas de volta para timestamps Unix. Suporta fusos horários UTC e locais.
O tempo Unix começou a contar em 1 de janeiro de 1970 00:00:00 UTC - a Época Unix. Cada timestamp Unix é o número de segundos (ou milissegundos em muitos sistemas modernos) que se passaram desde esse momento. Timestamps são usados em programação, bancos de dados e APIs porque são independentes de fuso horário, ordenáveis como inteiros e triviais de comparar aritmeticamente. Ler 1711843200 como um número bruto não diz nada. Este conversor traduz instantaneamente para 2024-03-31T00:00:00.000Z, usando ISO 8601 - o padrão internacional de data. Todas as conversões são realizadas localmente no seu navegador.
Como Usar Esta Ferramenta
- Timestamp para Data: Insira um timestamp Unix em segundos ou milissegundos - a ferramenta mostra a data em UTC e seu fuso horário local.
- Data para Timestamp: Insira uma data e hora usando o seletor de data, depois copie o timestamp Unix resultante em segundos e milissegundos.
- Clique em Agora para preencher o timestamp atual como referência.
- Use o seletor de formato para exibir datas em ISO 8601, RFC 2822 ou formato legível.
Entendendo Timestamps Unix
Segundos vs Milissegundos
Duas convenções estão em uso generalizado. O tempo Unix em segundos (10 dígitos a partir de 2024, por exemplo, 1711843200) é usado por APIs POSIX, C/C++ time(), time.time() do Python e a maioria dos sistemas do lado do servidor. O tempo Unix em milissegundos (13 dígitos, por exemplo, 1711843200000) é usado por Date.now() do JavaScript, System.currentTimeMillis() do Java e muitas APIs web. Regra rápida: 10 dígitos significam segundos; 13 dígitos significam milissegundos. O maior timestamp válido de inteiro com sinal de 32 bits é 2147483647 (segundos), correspondente a 19 de janeiro de 2038 - o problema do Ano 2038 para sistemas legados.
Formato ISO 8601
ISO 8601 é o padrão internacional para representações de data e hora. O formato completo UTC é YYYY-MM-DDTHH:mm:ss.sssZ, onde T separa a data e a hora e Z denota UTC (hora Zulu). ISO 8601 é o formato recomendado para respostas de API e intercâmbio de dados porque é inequívoco, ordenável lexicograficamente (a ordem das strings corresponde à ordem cronológica) e analisável em todas as principais linguagens de programação.
Exemplo
Timestamp para Data
Entrada (segundos): 1711843200
Data UTC (ISO 8601): 2024-03-31T00:00:00.000Z
RFC 2822: Dom, 31 Mar 2024 00:00:00 +0000
Legível (UTC): Domingo, 31 de Março de 2024 às 12:00:00 AM UTC
Data para Timestamp
Entrada: 2024-03-31 00:00:00 UTC
Unix (segundos): 1711843200
Unix (milissegundos): 1711843200000
Formatos Comuns de Timestamp
- Unix segundos (POSIX):
1711843200- 10 dígitos, usado em C, Python, Go, a maioria das APIs de sistema - Unix milissegundos:
1711843200000- 13 dígitos, usado em JavaScript, Java, muitas APIs REST - ISO 8601 UTC:
2024-03-31T00:00:00Z- recomendado para respostas de API e armazenamento de dados - ISO 8601 com offset:
2024-03-31T03:00:00+03:00- inclui offset de fuso horário para hora local inequívoca - RFC 2822:
Dom, 31 Mar 2024 00:00:00 +0000- usado em cabeçalhos de e-mail e cabeçalhoDateHTTP - Referência da Época Unix:
0=1970-01-01T00:00:00Z
Melhores Práticas
- Armazene timestamps em UTC em bancos de dados - converta para hora local apenas na camada de exibição
- Use ISO 8601 para respostas de API - é inequívoco e analisável em todas as linguagens
- Prefira milissegundos em vez de segundos para novos sistemas para evitar aritmética de ponto flutuante com precisão sub-segundo
- Migre o armazenamento de timestamps de 32 bits para 64 bits para evitar o problema de estouro do Ano 2038
Para identificadores únicos com timestamps embutidos, UUID v7 (RFC 9562) combina timestamps Unix em milissegundos com bits aleatórios para IDs únicos e ordenáveis - use o Gerador de UUID para UUID v4 quando a ordem de classificação não for necessária. Para depurar respostas JSON contendo timestamps, o Formatador JSON torna campos de timestamp aninhados legíveis.
Perguntas Frequentes
O que é um timestamp Unix?
Um timestamp Unix é o número de segundos que se passaram desde a Época Unix - meia-noite (00:00:00 UTC) de 1 de janeiro de 1970 - excluindo segundos intercalares. É independente de fuso horário, um inteiro simples e fácil de comparar e classificar. Timestamps Unix são a representação interna universal para tempo em sistemas operacionais, bancos de dados e linguagens de programação.
Como posso saber se um timestamp está em segundos ou milissegundos?
Conte os dígitos. A partir de 2024, timestamps Unix em segundos têm 10 dígitos (por exemplo, 1700000000). Timestamps em milissegundos têm 13 dígitos (por exemplo, 1700000000000). Se o número for menor que cerca de 10 bilhões, provavelmente é em segundos. Timestamps com precisão em nanossegundos (usados em alguns sistemas de alta frequência) têm 19 dígitos.
Qual é o problema do Ano 2038?
Sistemas que armazenam timestamps Unix como inteiros com sinal de 32 bits só podem representar valores até 2.147.483.647. Esse máximo corresponde a 19 de janeiro de 2038 às 03:14:07 UTC. Adicionar um segundo após isso causa um estouro de inteiro para um número negativo grande, quebrando cálculos de data. Sistemas modernos de 64 bits estão seguros até aproximadamente 292 bilhões de anos a partir de agora.
O conversor usa meu fuso horário local?
Sim. A ferramenta exibe tanto o UTC quanto sua hora local. A hora local é determinada pela configuração de fuso horário do seu navegador, que reflete o fuso horário configurado do seu sistema operacional. Se o relógio do seu sistema estiver mal configurado ou se você estiver viajando, a exibição da hora local refletirá essa configuração.
Como obtenho o timestamp Unix atual no código?
JavaScript: Math.floor(Date.now() / 1000) para segundos, ou Date.now() para milissegundos. Python: import time; int(time.time()). Go: time.Now().Unix() para segundos, time.Now().UnixMilli() para milissegundos. PostgreSQL: EXTRACT(EPOCH FROM NOW()). Bash: date +%s.