Data para Unix timestamp – conversor de data e hora em timestamp

Última revisão do conteúdo:

Introduza uma data com hora e leia o Unix timestamp em segundos. A meia-noite UTC de 1 de janeiro de 2025 é o timestamp 1735689600. Sob o resultado aparece o mesmo instante em milissegundos, e com a opção Hora local a hora introduzida é calculada no fuso do seu dispositivo.

UTC

Introduza a data como 2023-11-14 22:13:20 ou 14/11/2023 22:13. Também é aceite o formato ISO 8601 com fuso, por exemplo 2023-11-14T22:13:20Z.

s
Fuso horário

Com UTC, a hora introduzida é interpretada sem desvio. Com a hora local, é interpretada no fuso horário do seu dispositivo. Uma data que já indica o fuso, por exemplo +02:00, é interpretada nesse fuso.

para

O que é um Unix timestamp e a partir de quando se conta?

Um Unix timestamp é a Era Unix escrita como um único número: a contagem de segundos desde as 00:00:00 UTC de 1 de janeiro de 1970[1]. A meia-noite de 1 de janeiro de 1970 tem o timestamp 0, que aumenta um valor a cada segundo.

A norma POSIX, o padrão comum dos sistemas do tipo Unix, define a fórmula que calcula o timestamp de uma data. A fórmula soma os segundos, os minutos vezes 60, as horas vezes 3600 e os dias vezes 86 400, com uma correção para os anos bissextos[2]. Neste cálculo, cada dia tem exatamente 86 400 segundos.

Uma data escrita para pessoas pressupõe sempre um fuso horário, enquanto o timestamp não contém informação sobre o fuso[3]. Por isso, as 10:00 num relógio de Lisboa e as 10:00 num relógio de São Paulo dão dois timestamps diferentes.

Como converter uma data em Unix timestamp?

A meia-noite UTC de 1 de janeiro de 2025 é o Unix timestamp 1735689600. Em Lisboa, a meia-noite desse dia caiu no mesmo instante, porque no inverno a hora legal de Portugal continental coincide com o UTC[4]. Em São Paulo, com a hora de Brasília em UTC-3, a meia-noite chegou três horas depois, com o timestamp 1735700400[5].

Para obter o timestamp de uma data, introduza-a no campo Data e hora, por exemplo 2025-01-01 00:00:00 ou 01.01.2025 00:00. O resultado em segundos aparece no campo Timestamp Unix. Por baixo, o conversor dá o mesmo instante em milissegundos, a unidade em que Date.now() devolve a hora em JavaScript[6].

Uma data sem fuso é calculada em UTC. Se introduzir uma hora lida num relógio de Portugal ou do Brasil, escolha Hora local no seletor Fuso horário. O conversor calcula-a então no fuso do seu dispositivo.

Uma data com desvio acrescentado, como 2025-01-01T00:00:00-03:00, é calculada com esse desvio nas duas opções.

Como se calcula o Unix timestamp de uma data? Fórmula e exemplo

O timestamp é o número de dias completos desde 1 de janeiro de 1970 multiplicado por 86 400, mais os segundos passados desde a meia-noite desse dia[2].

Tome 14 de novembro de 2023, às 22:13:20 UTC. De 1 de janeiro de 1970 até esse dia passaram 19 675 dias completos. Multiplicados por 86 400, dão 1699920000 segundos.

A hora 22:13:20 fica 80 000 segundos depois da meia-noite. A soma dos dois números dá o timestamp 1700000000.

Uma data na hora de verão de Portugal continental passa-se primeiro para UTC, subtraindo 3600 segundos. No inverno, a hora de Portugal continental já coincide com o UTC[4]. A uma hora de Brasília some 10 800 segundos[5]. A meia-noite de 1 de janeiro de 2025 em São Paulo é, por isso, 1735689600 mais 10 800, ou seja, 1735700400.

O conversor de Unix timestamp para data volta a transformar o resultado em data. Se um sistema espera o timestamp em hexadecimal, converta o resultado no conversor de decimal para hexadecimal. O timestamp 1700000000 escreve-se 6553F100 em hexadecimal.

Folha de calendário de janeiro de 2021 junto a um vaso com uma planta e a um pequeno relógio
Janeiro de 2021 começou numa sexta-feira. A meia-noite UTC de 1 de janeiro de 2021 é o timestamp Unix 1609459200. Foto: Debby Hudson, Unsplash.

Qual é o Unix timestamp de 1 de janeiro de cada ano?

Cada linha refere-se à meia-noite de 1 de janeiro. A coluna Meia-noite UTC dá o timestamp desse instante em UTC, e a coluna em milissegundos o mesmo instante na unidade do JavaScript. Em Lisboa, a meia-noite de janeiro coincide com a de UTC[4]. As duas últimas colunas dão o timestamp da meia-noite nos Açores, em UTC-1 no inverno[4], e em São Paulo. Nos anos com horário de verão, 1 de janeiro caía nesse período, em UTC-2[7], e desde 2020 a hora de São Paulo é UTC-3[5].
AnoMeia-noite UTCMeia-noite UTC em milissegundosMeia-noite nos AçoresMeia-noite em São Paulo
2000946684800946684800000946688400 (UTC-1)946692000 (UTC-2)
2001978307200978307200000978310800 (UTC-1)978314400 (UTC-2)
2002100984320010098432000001009846800 (UTC-1)1009850400 (UTC-2)
2003104137920010413792000001041382800 (UTC-1)1041386400 (UTC-2)
2004107291520010729152000001072918800 (UTC-1)1072922400 (UTC-2)
2005110453760011045376000001104541200 (UTC-1)1104544800 (UTC-2)
2006113607360011360736000001136077200 (UTC-1)1136080800 (UTC-2)
2007116760960011676096000001167613200 (UTC-1)1167616800 (UTC-2)
2008119914560011991456000001199149200 (UTC-1)1199152800 (UTC-2)
2009123076800012307680000001230771600 (UTC-1)1230775200 (UTC-2)
2010126230400012623040000001262307600 (UTC-1)1262311200 (UTC-2)
2011129384000012938400000001293843600 (UTC-1)1293847200 (UTC-2)
2012132537600013253760000001325379600 (UTC-1)1325383200 (UTC-2)
2013135699840013569984000001357002000 (UTC-1)1357005600 (UTC-2)
2014138853440013885344000001388538000 (UTC-1)1388541600 (UTC-2)
2015142007040014200704000001420074000 (UTC-1)1420077600 (UTC-2)
2016145160640014516064000001451610000 (UTC-1)1451613600 (UTC-2)
2017148322880014832288000001483232400 (UTC-1)1483236000 (UTC-2)
2018151476480015147648000001514768400 (UTC-1)1514772000 (UTC-2)
2019154630080015463008000001546304400 (UTC-1)1546308000 (UTC-2)
2020157783680015778368000001577840400 (UTC-1)1577847600 (UTC-3)
2021160945920016094592000001609462800 (UTC-1)1609470000 (UTC-3)
2022164099520016409952000001640998800 (UTC-1)1641006000 (UTC-3)
2023167253120016725312000001672534800 (UTC-1)1672542000 (UTC-3)
2024170406720017040672000001704070800 (UTC-1)1704078000 (UTC-3)
2025173568960017356896000001735693200 (UTC-1)1735700400 (UTC-3)
2026176722560017672256000001767229200 (UTC-1)1767236400 (UTC-3)
2027179876160017987616000001798765200 (UTC-1)1798772400 (UTC-3)
2028183029760018302976000001830301200 (UTC-1)1830308400 (UTC-3)
2029186192000018619200000001861923600 (UTC-1)1861930800 (UTC-3)
2030189345600018934560000001893459600 (UTC-1)1893466800 (UTC-3)
2031192499200019249920000001924995600 (UTC-1)1925002800 (UTC-3)
2032195652800019565280000001956531600 (UTC-1)1956538800 (UTC-3)
2033198815040019881504000001988154000 (UTC-1)1988161200 (UTC-3)
2034201968640020196864000002019690000 (UTC-1)2019697200 (UTC-3)
2035205122240020512224000002051226000 (UTC-1)2051233200 (UTC-3)
2036208275840020827584000002082762000 (UTC-1)2082769200 (UTC-3)
2037211438080021143808000002114384400 (UTC-1)2114391600 (UTC-3)
2038214591680021459168000002145920400 (UTC-1)2145927600 (UTC-3)
2039217745280021774528000002177456400 (UTC-1)2177463600 (UTC-3)
2040220898880022089888000002208992400 (UTC-1)2208999600 (UTC-3)
O timestamp do início de 2038, 2145916800, ainda cabe num inteiro de 32 bits com sinal. O último segundo que esse inteiro consegue guardar é 19 de janeiro de 2038, às 03:14:07 UTC[8]. Esse limite, 2147483647, escrito em binário como trinta e um algarismos 1, aparece no conversor de decimal para binário.

Qual é o Unix timestamp da mudança de hora de 2026 em Portugal?

Em Portugal continental e na Madeira, a hora adianta 60 minutos à 1 hora legal em março e atrasa 60 minutos às 2 horas legais em outubro. Nas duas mudanças, o instante é 1 hora UTC[4]. Em 2026, as mudanças são a 29 de março e a 25 de outubro. Os Açores mudam no mesmo instante, por isso partilham os timestamps.
InstanteRelógio em LisboaRelógio nos AçoresUnix timestamp
Último segundo da hora de inverno29.03.2026, 00:59:5928.03.2026, 23:59:591774745999
Primeiro segundo da hora de verão29.03.2026, 02:00:0029.03.2026, 01:00:001774746000
Primeira 1:30 de outubro em Lisboa25.10.2026, 01:30:0025.10.2026, 00:30:001792888200
Último segundo da hora de verão25.10.2026, 01:59:5925.10.2026, 00:59:591792889999
Primeiro segundo da hora de inverno25.10.2026, 01:00:0025.10.2026, 00:00:001792890000
Segunda 1:30 de outubro em Lisboa25.10.2026, 01:30:0025.10.2026, 00:30:001792891800
A hora de 1:00 a 1:59 repete-se em Lisboa a 25 de outubro, por isso 1:30 tem dois timestamps nesse dia. Num dispositivo com o fuso de Lisboa, a entrada 2026-10-25 01:30:00 com a opção Hora local dá o primeiro, 1792888200. No Brasil, os relógios deixaram de mudar depois de 2019[7].

Que fórmula converte uma data em Unix timestamp no Excel, em SQL e em código?

Cada linha converte 14 de novembro de 2023, às 22:13:20 UTC, no timestamp 1700000000. Verificámos para esta data os resultados do Python e do JavaScript.
OndeFórmula ou expressãoResultado
Excel=(A1-DATA(1970;1;1))*864001700000000 para a data 2023-11-14 22:13:20 na célula A1
Excel, resultado em milissegundos=(A1-DATA(1970;1;1))*864000001700000000000
Google Sheets=(A1-DATA(1970;1;1))*864001700000000
MySQLSELECT UNIX_TIMESTAMP('2023-11-14 22:13:20');1700000000 se a sessão estiver em UTC
PostgreSQLSELECT EXTRACT(EPOCH FROM TIMESTAMPTZ '2023-11-14 22:13:20+00');1700000000.000000
Pythondatetime(2023, 11, 14, 22, 13, 20, tzinfo=timezone.utc).timestamp()1700000000.0
JavaScriptDate.UTC(2023, 10, 14, 22, 13, 20) / 10001700000000
JavaScript, resultado em milissegundosDate.UTC(2023, 10, 14, 22, 13, 20)1700000000000
O MySQL lê a data passada a UNIX_TIMESTAMP no fuso horário da sessão, ou seja, no fuso configurado para a ligação atual[9]. No PostgreSQL, EXTRACT(EPOCH FROM …) aplicado ao tipo timestamp with time zone conta os segundos desde 1970-01-01 00:00:00 UTC[10]. O Date.UTC do JavaScript conta os meses a partir de zero, por isso novembro é o mês 10[11]. Em Python, o método timestamp() de um objeto datetime com o fuso UTC devolve os segundos desde a época, e um objeto sem fuso é tratado como hora local[12].

Como converter uma data em Unix timestamp no Excel e no Google Sheets?

Para uma única data, o campo acima é mais rápido. Uma coluna inteira de datas converte-se em timestamps com uma fórmula arrastada para baixo.

  1. Excel: diferença de datas vezes 86 400

    Introduza uma data com hora na célula A1 e a fórmula =(A1-DATA(1970;1;1))*86400 na célula B1. O Excel armazena datas como números de série sequenciais[13], por isso a diferença entre duas datas é um número de dias. A multiplicação por 86 400 transforma esses dias em segundos.
  2. Excel: formato de número na célula do resultado

    Se a célula B1 mostrar o resultado como data, aplique-lhe o formato Número sem casas decimais. Verá então 1700000000.
  3. Data na hora de Portugal ou do Brasil

    A fórmula trata a data da célula A1 como UTC. Para uma hora de verão de Portugal continental, subtraia 3600 segundos ao resultado[4]. Para uma hora de Brasília, some 10 800 segundos[5].
  4. Google Sheets: a mesma fórmula

    No Google Sheets em português, a função DATA tem os argumentos ano, mês e dia[14]. Por isso, a fórmula =(A1-DATA(1970;1;1))*86400 funciona como no Excel.
  5. Excel: livros com o sistema de datas 1904

    Um livro pode contar as datas a partir de 1 de janeiro de 1904 em vez de 1 de janeiro de 1900, e a diferença entre os dois sistemas é de 1 462 dias[15]. A fórmula subtrai 1 de janeiro de 1970 calculado no sistema do mesmo livro, por isso dá o mesmo timestamp nos dois sistemas.

Que Unix timestamp recebe uma hora do dia da mudança de hora?

Em outubro, às 2 horas legais, os relógios de Portugal continental atrasam 60 minutos[4]. Cada hora entre a 1:00 e a 1:59 repete-se então, e a cada uma correspondem dois timestamps.

Nesse caso, o conversor com a opção Hora local escolhe o primeiro dos dois instantes, tal como o objeto Date do JavaScript[16]. O segundo instante, uma hora mais tarde, obtém-se acrescentando o desvio à data. A entrada 2026-10-25 01:30:00 +00:00 dá o timestamp 1792891800. Num dispositivo com o fuso de Lisboa, vê os dois instantes como hora portuguesa se colar estes timestamps no conversor de Unix timestamp para data e escolher Hora local.

Em março, à 1 hora legal, os relógios adiantam 60 minutos[4]. A 1:30 não aparece nesse dia nos relógios de Lisboa. O conversor adianta essa entrada uma hora, tal como o Date[16], e dá o timestamp das 2:30 da hora de verão.

Em São Paulo, cada hora tem um único timestamp durante todo o ano, porque o Brasil deixou de adotar o horário de verão depois de 2019[7]. Com a opção UTC também há um único timestamp por hora, já que o UTC não muda para a hora de verão.

Cinco relógios de parede com os nomes Sídney, Londres, Monterrey, Vancouver e New York
Cada um destes relógios mostra a hora de uma cidade diferente. Uma hora lida num deles introduz-se com a opção Hora local num dispositivo configurado com o fuso dessa cidade, ou acrescentando à data o desvio do fuso. Foto: Luis Cortes, Unsplash.

Fontes

  1. Era Unix — Wikipédia
  2. The Open Group Base Specifications Issue 8 (POSIX.1-2024), 4.19 Seconds Since the Epoch — The Open Group
  3. time — PHP Manual — The PHP Group
  4. Hora Legal e Hora UTC — Instituto Português do Mar e da Atmosfera
  5. Fusos horários no Brasil — Wikipédia
  6. Date.now() — MDN Web Docs
  7. Horário de verão no Brasil — Wikipédia
  8. Year 2038 problem — Wikipédia (inglês)
  9. MySQL 8.4 Reference Manual, Date and Time Functions — Oracle
  10. PostgreSQL Documentation, Date/Time Functions and Operators — PostgreSQL Global Development Group
  11. Date.UTC() — MDN Web Docs
  12. datetime — Basic date and time types — Python Software Foundation
  13. Função DATA — Microsoft Support
  14. DATA — Editores do Google Docs Ajuda
  15. Sistemas de data no Excel — Microsoft Support
  16. Temporal.ZonedDateTime, Ambiguity and gaps from offset transitions — MDN Web Docs
  17. RFC 7519: JSON Web Token (JWT) — IETF
  18. Resolution 4 of the 27th CGPM (2022): On the use and future development of UTC — Bureau International des Poids et Mesures

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 converter uma data em Unix timestamp

Como calculo o Unix timestamp da meia-noite de hoje no meu fuso horário?

Introduza a data de hoje sem hora, no formato AAAA-MM-DD, e escolha Hora local no seletor Fuso horário. Uma data sem hora significa meia-noite, e a opção Hora local calcula-a no fuso do seu dispositivo. Com a opção UTC, a mesma entrada dá a meia-noite UTC.

Como converto uma data em Unix timestamp em milissegundos?

Sob o resultado, o conversor dá o mesmo instante em milissegundos. É o timestamp em segundos multiplicado por 1000. O Date.UTC do JavaScript também devolve o resultado em milissegundos[11].

Que Unix timestamp se coloca no campo exp de um JWT?

O campo exp contém o número de segundos desde 1 de janeiro de 1970 UTC e indica o momento a partir do qual o token não deve ser aceite[17]. Introduza no conversor a data e a hora de expiração e copie para exp o resultado do campo Timestamp Unix. Um token válido durante uma hora após a emissão tem em exp um valor 3600 maior do que em iat. A data de expiração de um token existente lê-se no conversor de Unix timestamp para data.

Porque é que novembro é o mês 10 em Date.UTC?

O Date.UTC conta os meses a partir de zero: janeiro é o 0 e dezembro o 11[11]. O dia do mês, as horas, os minutos e os segundos escrevem-se da forma habitual. Por isso, 14 de novembro de 2023 escreve-se Date.UTC(2023, 10, 14).

Qual é a data mais tardia que um Unix timestamp de 32 bits guarda?

O último instante que um inteiro de 32 bits com sinal guarda é 19 de janeiro de 2038, às 03:14:07 UTC[8]. Em hexadecimal, esse máximo, 2147483647, escreve-se 7FFFFFFF, como mostra o conversor de decimal para hexadecimal. No MySQL em plataformas de 64 bits, UNIX_TIMESTAMP aceita datas até 19 de janeiro de 3001 e devolve 0 para uma data fora desse intervalo[9].

Posso introduzir 23:59:60 com um segundo bissexto?

O conversor aceita segundos de 00 a 59, porque no tempo Unix cada dia tem exatamente 86 400 segundos[2]. A Conferência Geral de Pesos e Medidas decidiu em 2022 que, o mais tardar em 2035, a diferença máxima permitida entre as escalas UT1 e UTC será aumentada[18].

Como introduzo uma data com um fuso horário concreto?

Acrescente à data o desvio do fuso, por exemplo 2023-11-14 19:13:20 -03:00 para São Paulo, ou a letra Z, UTC ou GMT. O desvio também pode ser escrito sem dois pontos, como -0300. Uma data com fuso próprio é calculada nesse fuso nas duas opções do seletor.

Em que formato introduzo uma data com barras?

O campo aceita a data com barras como se escreve em Portugal e no Brasil, com o dia antes do mês: 14/11/2023. Aceita também o formato que começa pelo ano, 2023/11/14, e a data com pontos, 14.11.2023.

Como converto um Unix timestamp de volta em data?

Clique em Trocar ordem. Abre-se o conversor de Unix timestamp para data, já com o timestamp do campo Timestamp Unix introduzido. Esse conversor também aceita valores em milissegundos, microssegundos e nanossegundos.

Captura de ecrã da ferramenta gratuita da Arteon: Data para Unix timestamp – conversor de data e hora em timestamp

Ajude-nos a melhorar as nossas ferramentas

Tem uma ideia, encontrou um bug ou quer sugerir uma funcionalidade? Escreva-nos.