Como usar: Conversor de Timestamp Unix
- No topo da página, veja o timestamp do momento atual sendo atualizado em tempo real e copie-o em segundos ou milissegundos.
- Em Timestamp → data, digite o número: aparecem a data em UTC, no fuso do seu dispositivo, no formato ISO 8601 e há quanto tempo foi (ou daqui a quanto tempo será).
- A unidade é definida automaticamente pela quantidade de dígitos, mas você pode escolher Segundos ou Milissegundos manualmente.
- Em Data → timestamp, escolha a data, a hora e o fuso horário. Para usar o horário de Brasília ou de Lisboa, selecione Fuso horário deste dispositivo (se o seu aparelho estiver configurado nesse fuso) ou UTC e faça o ajuste.
- Os valores em segundos e milissegundos aparecem logo abaixo, prontos para copiar.
O que é o timestamp Unix (epoch time)?
O timestamp Unix é o número de segundos decorridos desde 1º de janeiro de 1970, às 00:00:00 (UTC), o chamado epoch. Como é o mesmo valor em qualquer lugar do mundo, independentemente do fuso horário, ele é muito usado para guardar datas em logs de servidor, bancos de dados e respostas de APIs.
- 0 → 01/01/1970 00:00:00 (UTC) — 31/12/1969 21:00:00 em Brasília
- 1.000.000.000 → 09/09/2001 01:46:40 (UTC) — 08/09/2001 22:46:40 em Brasília
- 1.700.000.000 → 14/11/2023 22:13:20 (UTC) — 14/11/2023 19:13:20 em Brasília
Diferença entre timestamp de 10 e de 13 dígitos
Um número de 10 dígitos está em segundos; um de 13 dígitos está em milissegundos (1/1000 de segundo). Linux, PHP e a função time() do Python costumam devolver segundos, enquanto Date.now() do JavaScript e System.currentTimeMillis() do Java devolvem milissegundos. Para passar de milissegundos para segundos, basta dividir por 1.000.
| Ambiente | Como obter o timestamp atual | Unidade |
|---|---|---|
| JavaScript | Date.now() | milissegundos |
| Python | time.time() | segundos (com decimais) |
| Java | System.currentTimeMillis() | milissegundos |
| Shell do Linux | date +%s | segundos |
| MySQL | UNIX_TIMESTAMP() | segundos |
Como converter o timestamp para o horário do Brasil e de Portugal
O timestamp em si é sempre baseado em UTC. Para chegar ao horário local, some ou subtraia a diferença do fuso:
- Horário de Brasília (BRT): UTC−3. O Brasil não adota horário de verão desde 2019, então a diferença é de 3 horas o ano inteiro. Outros fusos brasileiros: UTC−2 (Fernando de Noronha), UTC−4 (Amazonas, Mato Grosso, entre outros) e UTC−5 (Acre).
- Portugal continental e Madeira: UTC+0 no inverno (WET) e UTC+1 no horário de verão (WEST), do último domingo de março ao último domingo de outubro. Os Açores ficam uma hora atrás.
No Excel ou no Google Planilhas em português, você pode converter um timestamp em segundos na célula A1 para o horário de Brasília com =(A1/86400)+DATA(1970;1;1)-3/24: divide-se pelo número de segundos de um dia (86.400), soma-se a data de 1º/1/1970 e subtraem-se 3 horas. Para Portugal no inverno, basta tirar o -3/24; no verão, use +1/24. Depois, formate a célula como data e hora.
Nesta ferramenta, a opção Fuso horário deste dispositivo usa automaticamente o fuso configurado no seu computador ou celular, incluindo o horário de verão quando houver.
O que é o problema do ano 2038?
Sistemas antigos que guardam o timestamp como inteiro de 32 bits com sinal só conseguem chegar até 2.147.483.647, que corresponde a 19/01/2038 às 03:14:07 (UTC) — 00:14:07 em Brasília. Um segundo depois, o valor estoura, fica negativo e a data “volta” para 1901. Esse é o problema do ano 2038 (Y2038). Sistemas operacionais e linguagens modernos usam inteiros de 64 bits e não são afetados.