Unix timestamp para data e hora – conversor de timestamp epoch
Cole um timestamp Unix e leia a data e a hora. O valor 1700000000 corresponde a 14 de novembro de 2023, 22:13:20 UTC. O conversor reconhece segundos, milissegundos, microssegundos e nanossegundos pelo número de algarismos, e a opção Hora local mostra a hora do seu dispositivo.
Pode introduzir segundos, milissegundos, microssegundos ou nanossegundos. A unidade é reconhecida pelo número de algarismos.
O que é um Unix timestamp, ou tempo Unix?
Um Unix timestamp, também chamado Era Unix ou tempo Unix, é a contagem de segundos desde as 00:00:00 UTC de 1 de janeiro de 1970[1]. Esse instante zero chama-se época Unix. O UTC é o tempo universal coordenado, a referência a partir da qual se contam os fusos horários do mundo.
A forma de contar está definida na norma POSIX, o padrão comum dos sistemas do tipo Unix. Nela, cada dia tem exatamente 86 400 segundos[2]. Os segundos bissextos acrescentados ao UTC não têm número próprio nesta contagem[1].
O timestamp não contém informação sobre o fuso horário[3]. O número 1700000000 descreve o mesmo instante em Lisboa e em São Paulo. Só muda a hora que os relógios das duas cidades mostram nesse instante.

Que data corresponde a um Unix timestamp?
O Unix timestamp 1700000000 corresponde a 14 de novembro de 2023, às 22:13:20 UTC. Em Portugal continental eram as mesmas 22:13:20, porque no inverno a hora legal coincide com o UTC[4]. Em São Paulo eram 19:13:20, porque a hora de Brasília é UTC-3[5].
Cole qualquer timestamp no campo Timestamp Unix, e a data aparece no campo Data e hora enquanto escreve. Sob o resultado, o conversor indica em que unidade leu o número.
O conversor reconhece a unidade pelo número de algarismos. Um timestamp atual em segundos tem dez algarismos. Um valor vindo de JavaScript tem treze, porque Date.now() devolve milissegundos[6]. O resultado de time.time_ns() em Python tem dezanove algarismos, porque essa função conta nanossegundos[7].
A opção Hora local do seletor Fuso horário mostra a hora do seu dispositivo com o desvio do respetivo fuso.
Para calcular o timestamp de uma data, use o conversor de data para Unix timestamp.
Como converter um Unix timestamp em data? Fórmula e exemplo
No tempo Unix, cada dia tem exatamente 86 400 segundos[2]. Para converter um timestamp em data, divida-o por 86 400. A parte inteira do resultado é o número de dias completos desde 1 de janeiro de 1970. O resto da divisão é a hora desse dia em segundos.
Tome o timestamp 1700000000. Dividido por 86 400, dá 19 675 dias completos. O resto é de 80 000 segundos.
Contando 1 de janeiro de 1970 como dia zero, o dia 19 675 é 14 de novembro de 2023. O resto é a hora desse dia: 80 000 segundos são 22 horas, 13 minutos e 20 segundos. O resultado completo é 2023-11-14 22:13:20 UTC.
Um timestamp em milissegundos divide-se primeiro por 1000, um em microssegundos por um milhão e um em nanossegundos por mil milhões. O conversor acima faz essa divisão sozinho antes de calcular a data. O conversor de data para Unix timestamp faz o cálculo inverso, de uma data para um número de segundos.
Converta primeiro para decimal um timestamp escrito em hexadecimal, como 6553F100. O conversor de decimal para hexadecimal faz isso depois de clicar em Trocar ordem. O valor 6553F100 é 1700000000 em decimal.
Que datas correspondem aos Unix timestamps redondos?
| Timestamp | Data e hora em UTC | O que marca este valor |
|---|---|---|
| -2147483648 | 1901-12-13 20:45:52 | Menor inteiro de 32 bits com sinal |
| -86400 | 1969-12-31 00:00:00 | Um dia antes da época |
| -1 | 1969-12-31 23:59:59 | Último segundo antes da época |
| 0 | 1970-01-01 00:00:00 | Época Unix |
| 86400 | 1970-01-02 00:00:00 | Fim do primeiro dia |
| 1000000000 | 2001-09-09 01:46:40 | Mil milhões de segundos |
| 1234567890 | 2009-02-13 23:31:30 | Algarismos de 1 a 0 por ordem |
| 1500000000 | 2017-07-14 02:40:00 | 1500 milhões de segundos |
| 1600000000 | 2020-09-13 12:26:40 | 1600 milhões de segundos |
| 1700000000 | 2023-11-14 22:13:20 | 1700 milhões de segundos |
| 1735689600 | 2025-01-01 00:00:00 | Início de 2025 |
| 1767225600 | 2026-01-01 00:00:00 | Início de 2026 |
| 1800000000 | 2027-01-15 08:00:00 | 1800 milhões de segundos |
| 2000000000 | 2033-05-18 03:33:20 | 2000 milhões de segundos |
| 2147483647 | 2038-01-19 03:14:07 | Maior inteiro de 32 bits com sinal |
| 4102444800 | 2100-01-01 00:00:00 | Início de 2100 |
| 4294967295 | 2106-02-07 06:28:15 | Maior inteiro de 32 bits sem sinal |
Como saber se um timestamp está em segundos, milissegundos ou nanossegundos?
| Unidade | Algarismos hoje | O instante 1700000000 nesta unidade | Onde a encontra |
|---|---|---|---|
| Segundos | 10 | 1700000000 | time() do PHP, campo exp de um JWT, timestamps no Discord |
| Milissegundos | 13 | 1700000000000 | Date.now() do JavaScript, EPOCHTODATE com a unidade 2 |
| Microssegundos | 16 | 1700000000000000 | EPOCHTODATE com a unidade 3 |
| Nanossegundos | 19 | 1700000000000000000 | time.time_ns() do Python |
Que fórmula ou comando converte um Unix timestamp em data?
| Onde | Fórmula ou comando | Resultado para 1700000000 |
|---|---|---|
| Excel | =A1/86400+DATA(1970;1;1) | 2023-11-14 22:13:20 depois de dar à célula um formato de data e hora |
| Excel, timestamp em milissegundos | =A1/86400000+DATA(1970;1;1) | A mesma data para o valor 1700000000000 |
| Google Sheets | =EPOCHTODATE(A1) | Data e hora em UTC |
| Google Sheets, milissegundos | =EPOCHTODATE(A1; 2) | Data e hora em UTC para o valor 1700000000000 |
| MySQL | SELECT FROM_UNIXTIME(1700000000); | 2023-11-14 22:13:20 se a sessão estiver em UTC |
| PostgreSQL | SELECT to_timestamp(1700000000); | 2023-11-14 22:13:20+00 se a sessão estiver em UTC |
| Python | datetime.fromtimestamp(1700000000, tz=timezone.utc) | 2023-11-14 22:13:20+00:00 |
| JavaScript | new Date(1700000000 * 1000).toISOString() | 2023-11-14T22:13:20.000Z |
| Linux, comando date | date -u -d @1700000000 | Tue Nov 14 22:13:20 UTC 2023 |
| PowerShell 7.1 e posterior | Get-Date -UnixTimeSeconds 1700000000 -AsUTC | Data e hora em UTC no formato regional do sistema |
Como preparar a fórmula no Excel e no Google Sheets para mostrar uma data?
Para um único timestamp, o campo acima é mais rápido. Uma coluna inteira de timestamps exportados de uma base de dados converte-se com uma fórmula arrastada para baixo.
Excel: fórmula com a função DATA
Introduza o timestamp na célula A1 e a fórmula =A1/86400+DATA(1970;1;1) na célula B1. No Excel em português, a função DATA tem os argumentos ano, mês e dia[19]. A fórmula divide os segundos pelo número de segundos de um dia e soma o resultado à data de 1 de janeiro de 1970.Excel: formato de data e hora na célula
O Excel armazena datas como números de série sequenciais, e 1 de janeiro de 1900 é o número de série 1[19]. Por isso, a célula B1 mostra primeiro um número de dias com casas decimais, cerca de 45244,93. Em Formatar Células, no separador Número, escolha Personalizar e escreva o formato yyyy-mm-dd hh:mm:ss. Verá então 2023-11-14 22:13:20[20].Excel: livro com o sistema de datas 1904
O Excel pode contar as datas a partir de 1 de janeiro de 1904, e a diferença entre os dois sistemas de datas é de 1 462 dias[21]. No sistema 1900, 1 de janeiro de 1970 tem o número 25569. No sistema 1904, o mesmo dia tem o número 24107. A função DATA devolve o número no sistema de datas do próprio livro, por isso a fórmula dá a data correta nos dois sistemas.Google Sheets: a função EPOCHTODATE
No Google Sheets basta a fórmula =EPOCHTODATE(A1). Um timestamp em milissegundos precisa do segundo argumento 2, e um em microssegundos do argumento 3. O resultado é sempre apresentado em UTC, seja qual for o fuso horário da folha de cálculo[12].Hora de Portugal ou do Brasil na folha
Porque é que o conversor mostra uma hora diferente da do seu relógio?
Por predefinição, o conversor mostra UTC, porque é nessa escala que se conta o próprio timestamp[1]. Em Portugal continental e na Madeira, a hora legal é UTC+0 no inverno e UTC+1 no verão. Nos Açores é UTC-1 no inverno e UTC+0 no verão[4].
No Brasil, a hora de Brasília é UTC-3[5]. O horário de verão, que adiantava os relógios para UTC-2 entre outubro e fevereiro, teve a última temporada em 2018–2019[22].
Por isso, o timestamp 1700000000 dá 22:13:20 em UTC e em Lisboa, 21:13:20 nos Açores e 19:13:20 em São Paulo. O timestamp 1782864000 é a meia-noite UTC de 1 de julho de 2026. Nesse instante é 1:00 em Lisboa e são 21:00 de 30 de junho em São Paulo.
As bases de dados funcionam da mesma forma. O MySQL mostra o resultado de FROM_UNIXTIME no fuso horário da sessão[13]. O mesmo timestamp lido com a sessão em UTC e com a sessão em America/Sao_Paulo dá duas horas diferentes.
A opção Hora local do seletor Fuso horário mostra a sua hora sem contas, desde que o dispositivo tenha o fuso correto. O timestamp de uma hora concreta calcula-se no conversor de data para Unix timestamp.

Fontes
- Era Unix — Wikipédia
- The Open Group Base Specifications Issue 8 (POSIX.1-2024), 4.19 Seconds Since the Epoch — The Open Group
- time — PHP Manual — The PHP Group
- Hora Legal e Hora UTC — Instituto Português do Mar e da Atmosfera
- Fusos horários no Brasil — Wikipédia
- Date.now() — MDN Web Docs
- time — Time access and conversions — Python Software Foundation
- Unix time — Wikipédia (inglês)
- Year 2038 problem — Wikipédia (inglês)
- RFC 7519: JSON Web Token (JWT) — IETF
- Reference — Message Formatting — Discord Developer Documentation
- Função EPOCHTODATE — Editores do Google Docs Ajuda
- MySQL 8.4 Reference Manual, Date and Time Functions — Oracle
- PostgreSQL Documentation, Date/Time Functions and Operators — PostgreSQL Global Development Group
- PostgreSQL Documentation, Date/Time Types — PostgreSQL Global Development Group
- datetime — Basic date and time types — Python Software Foundation
- GNU Coreutils, Seconds since the Epoch — Free Software Foundation
- Get-Date (Microsoft.PowerShell.Utility) — Microsoft Learn
- Função DATA — Microsoft Support
- Formatar uma data da forma pretendida no Excel — Microsoft Support
- Sistemas de data no Excel — Microsoft Support
- Horário de verão no Brasil — Wikipédia
Todos os valores das tabelas foram calculados a partir das definições das unidades e verificados aritmeticamente antes da publicação. Os dados históricos e os nomes das unidades locais assentam nas fontes indicadas acima.
Última revisão do conteúdo: · escrito e verificado pela equipa Arteon
Perguntas frequentes sobre o Unix timestamp
Qual é o Unix timestamp atual?
O timestamp atual aumenta um valor por segundo. Em setembro de 2026 está entre 1788220800 e 1790812799. A expressão Math.floor(Date.now() / 1000), escrita na consola do navegador, devolve o valor exato, porque Date.now() devolve milissegundos[6].
O que significa o campo exp de um JWT?
O campo exp indica o momento a partir do qual o token não deve ser aceite. O valor é o número de segundos desde 1 de janeiro de 1970 UTC, sem contar segundos bissextos[10]. Cole-o no conversor para ver a data e a hora em que o token expira. O campo iat, o momento em que o token foi emitido, e o campo nbf, o momento antes do qual o token não deve ser aceite, usam o mesmo formato[10].
O que é o problema do ano 2038?
Um timestamp guardado como inteiro de 32 bits com sinal atinge o valor máximo a 19 de janeiro de 2038, às 03:14:07 UTC[9]. Esse valor, 2147483647, é 7FFFFFFF no conversor de decimal para hexadecimal. Um segundo depois, o contador transborda e mostra 13 de dezembro de 1901[9]. O kernel Linux suporta, desde a versão 5.6 de 2020, tempo de 64 bits também em arquiteturas de 32 bits[9].
Um Unix timestamp pode ser negativo?
Sim. Os valores negativos correspondem a instantes anteriores a 1 de janeiro de 1970[14]. O timestamp -86400 é 31 de dezembro de 1969, às 00:00:00 UTC. O conversor aceita o sinal de menos antes do número.
Como é que o tempo Unix trata os segundos bissextos?
No tempo Unix, cada dia tem exatamente 86 400 segundos[2], por isso um segundo bissexto não tem número próprio. A documentação do GNU dá um exemplo do fim de 2016. O timestamp 1483228799 é 31 de dezembro, às 23:59:59 UTC, e o timestamp 1483228800 já é a meia-noite de 1 de janeiro de 2017. O segundo 23:59:60 não pode ser escrito como timestamp[17].
Como mostro um Unix timestamp numa mensagem do Discord?
Escreva <t:1700000000> na mensagem. O Discord mostra esse instante no fuso horário e no formato de cada leitor. O estilo acrescenta-se depois de um segundo sinal de dois pontos: <t:1700000000:R> mostra o tempo relativo e <t:1700000000:F> a data completa com o dia da semana[11].
Porque é que o Python tornou utcfromtimestamp obsoleto?
O método datetime.utcfromtimestamp() está obsoleto desde o Python 3.12. Devolve um objeto sem fuso horário, e muitos métodos do módulo datetime tratam esse objeto como hora local. A documentação recomenda usar em vez dele datetime.fromtimestamp(timestamp, tz=timezone.utc)[16].
O campo aceita pontos, espaços e valores em milissegundos?
Sim. Pode separar os algarismos de três em três com pontos, espaços, sublinhados ou apóstrofos, como em 1.700.000.000. Uma única vírgula ou um único ponto separam a fração de segundo, como em 1700000000,5. O conversor reconhece sozinho milissegundos, microssegundos e nanossegundos pelo número de algarismos.
Como converto uma data de volta em Unix timestamp?
Clique em Trocar ordem. Abre-se o conversor de data para Unix timestamp, já com o resultado do campo Data e hora introduzido. Aí introduz a data como 2023-11-14 22:13:20 ou 14.11.2023 22:13.

Ajude-nos a melhorar as nossas ferramentas
Tem uma ideia, encontrou um bug ou quer sugerir uma funcionalidade? Escreva-nos.