Conversor de Timestamp Unix
Converta timestamps Unix em datas legíveis e vice-versa, em qualquer fuso horário, com o epoch ao vivo.
Um timestamp ou data por linha, até 500.
Cole o código em uma mensagem do Discord; cada pessoa vê o horário no próprio fuso e no próprio idioma.
Converta este timestamp no seu próprio código.
Conversor de timestamp Unix - de epoch para data e de data para epoch
Logs, bancos de dados e APIs guardam tempo como número, mas as pessoas leem tempo como data. Este conversor de timestamp Unix gratuito cobre essa distância nos dois sentidos: cole um valor epoch para ver a data legível, ou escolha uma data e uma hora para obter o número que o seu código espera. O timestamp atual fica sempre visível no topo, pronto para copiar.
Todo o cálculo acontece no seu navegador, então você pode converter valores de logs de produção e de sistemas internos sem enviá-los para lugar nenhum.
O que é um timestamp Unix
Um timestamp Unix, também chamado de tempo epoch ou tempo POSIX, é o número de segundos decorridos desde 1 de janeiro de 1970 às 00:00:00 UTC. Por ser um único número inteiro, sem fuso horário, sem calendário e sem formatação, ele é inequívoco e fácil de ordenar, comparar e subtrair. Essa simplicidade explica por que quase todo arquivo de log, coluna de banco e resposta de API o usa internamente, e por que quase todo desenvolvedor precisa convertê-lo de volta para algo legível várias vezes por semana.
Segundos ou milissegundos? Conte os dígitos
Essa é a confusão mais comum de todas. Um timestamp em segundos tem hoje 10 dígitos; o mesmo instante em milissegundos tem 13. Unix, PHP, Python e a maioria dos bancos trabalham em segundos, enquanto o Date.now() do JavaScript, o Java e muitos sistemas de log usam milissegundos. Se a data convertida cair em 1970, você passou milissegundos para uma ferramenta que esperava segundos. Se cair dezenas de milhares de anos no futuro, aconteceu o contrário. Este conversor conta os dígitos por você: até 11 dígitos são lidos como segundos, até 14 como milissegundos, até 17 como microssegundos e acima disso como nanossegundos, e uma linha abaixo do resultado diz qual unidade foi assumida. Se ele errar, por exemplo com um valor em milissegundos do começo dos anos 1970, escolha você mesmo a unidade no menu Unidade em vez de Detectar automaticamente.
Como converter um timestamp
- Para ler um valor epoch, cole-o no campo de timestamp e clique em Converter.
- No caminho inverso, informe data e hora e clique em Converter na seção de data.
- Clique em Usar hora atual para preencher o campo com o momento atual.
- Copie o timestamp ao vivo do topo sempre que precisar de um valor para um teste, um token ou uma consulta.
- Escolha um fuso horário no seletor para ler a data nesse fuso, ou para inserir uma data como hora local desse fuso.
- Para converter muitos valores de uma vez, abra a aba Em lote, cole até 500 timestamps ou datas, um por linha, e clique em Converter tudo. Em Detectar automaticamente, a unidade é definida linha a linha, e Copiar como CSV leva a tabela para uma planilha.
Timestamps que você vai reconhecer
| Valor | Momento | Por que importa |
|---|---|---|
0 | 1 de janeiro de 1970, 00:00:00 UTC | O próprio epoch; uma data em 1970 normalmente indica valor vazio ou nulo |
1000000000 | 9 de setembro de 2001 | O primeiro timestamp de dez dígitos |
1700000000 | 14 de novembro de 2023 | Um ponto de referência moderno bem prático |
2147483647 | 19 de janeiro de 2038 | O maior valor que cabe em um inteiro de 32 bits com sinal |
| Valores negativos | Antes de 1970 | Válidos, mas não suportados por algumas bibliotecas e bancos |
Onde o tempo epoch aparece
- Nos claims
exp,iatenbfde um JWT - abra um com o decodificador JWT. - Em logs de servidor e de aplicação, em que cada linha começa com um valor epoch.
- Em colunas como
created_atguardadas como inteiro em vez de tipo data. - Em expiração de cache, janelas de limite de requisições e disparo de tarefas agendadas.
- Em payloads de webhook e assinaturas de API que incluem um carimbo de tempo contra ataques de repetição.
- Nas datas de modificação de arquivos informadas pelo sistema operacional.
Fusos horários e por que a sua data parece errada
Um timestamp não tem fuso horário: ele é um instante absoluto. A data que você vê é a representação desse instante em algum fuso, então o mesmo número aparece como horários locais diferentes em Teerã, Berlim e Tóquio. Quando um valor parece deslocado algumas horas, quase nunca o número está errado; o fuso de exibição é que está. Armazene e transmita em UTC, converta para hora local apenas ao mostrar para uma pessoa e lembre-se do deslocamento ao comparar uma linha de log com uma captura de tela.
Armadilhas que vale conhecer
- O problema do ano 2038. Sistemas que ainda usam campo de tempo de 32 bits com sinal estouram em 19 de janeiro de 2038. Use tipos de 64 bits para horizontes longos.
- Horário de verão. Horários locais podem repetir ou pular uma hora; valores epoch nunca fazem isso.
- Segundos bissextos. O tempo Unix os ignora, então ele não é uma contagem exata dos segundos físicos decorridos.
- Texto em vez de inteiro. Um timestamp guardado como texto ordena alfabeticamente, o que quebra assim que a quantidade de dígitos muda.
- Arredondamento. Converter milissegundos para segundos truncando pode jogar um evento para o segundo anterior: aplique sempre o mesmo critério.
Timestamps do Discord
O Discord exibe um timestamp Unix como uma data viva, ajustada ao fuso de cada pessoa, quando você o escreve como <t:1700000000:F>. Cada letra de estilo dá uma forma diferente: t hora curta, T hora média (com segundos), d data curta, D data longa, f data longa com hora curta (padrão), F data completa com o dia da semana e hora curta, s data curta com hora curta, S data curta com hora média e R para a forma relativa, como "em 3 horas". Cada leitor vê no próprio horário local, que é justamente a ideia.
A aba Discord do conversor monta esses códigos para você: escolha a data e a hora ou toque em Usar hora atual, e a tabela mostra cada estilo com o código pronto na coluna Código, um botão Copiar e uma prévia em Fica assim. Essa aba lê a hora no fuso do seu aparelho e ignora o menu Fuso horário, então só acerta quando o evento é em um horário do seu próprio relógio. Para um evento planejado em outro fuso, escolha esse fuso no menu Fuso horário, digite a data e a hora em Data → timestamp, clique em Converter e coloque você mesmo o valor de Segundos dentro de <t:...:F>. A aba Em lote mostra a coluna Fuso escolhido no fuso do menu, mas também lê uma data digitada sem deslocamento no fuso do seu aparelho; para uma agenda, escreva o deslocamento em cada linha, como em 2026-10-01T18:00-04:00.
Converter um timestamp em código, SQL e Excel
A aba Código do conversor escreve essa conversão para o valor do campo de timestamp, ou para a hora atual quando o campo está vazio, em JavaScript, Python, PHP, SQL, Go, Java, C# e Bash, com um botão para copiá-la. A tabela abaixo é a versão curta para ter à mão.
| Onde | Timestamp atual | Timestamp para data |
|---|---|---|
| JavaScript | Math.floor(Date.now() / 1000) | new Date(ts * 1000) |
| Python | int(time.time()) | datetime.fromtimestamp(ts, tz=timezone.utc) |
| PHP | time() | date('Y-m-d H:i:s', $ts) |
| MySQL | UNIX_TIMESTAMP() | FROM_UNIXTIME(ts) |
| PostgreSQL | EXTRACT(EPOCH FROM now()) | to_timestamp(ts) |
| Terminal Linux | date +%s | date -d @1700000000 |
| Excel / Google Sheets | - | =A1/86400 + DATA(1970;1;1), depois formate a célula como data (UTC; para milissegundos divida por 86400000) |
Ferramentas relacionadas
Valores de tempo raramente chegam sozinhos. Confira a expiração de um token com o decodificador JWT, organize um payload de log com o formatador JSON, procure padrões de data em texto com o testador de expressões regulares e crie identificadores de requisição com o gerador de UUID. Para ver quando uma tarefa agendada vai rodar da próxima vez, use o Explicador de Expressões Cron.