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 UnixWikipédia
  2. The Open Group Base Specifications Issue 8 (POSIX.1-2024), 4.19 Seconds Since the EpochThe Open Group
  3. time — PHP ManualThe PHP Group
  4. Hora Legal e Hora UTCInstituto Português do Mar e da Atmosfera
  5. Fusos horários no BrasilWikipédia
  6. Date.now()MDN Web Docs
  7. Horário de verão no BrasilWikipédia
  8. Year 2038 problemWikipédia (inglês)
  9. MySQL 8.4 Reference Manual, Date and Time FunctionsOracle
  10. PostgreSQL Documentation, Date/Time Functions and OperatorsPostgreSQL Global Development Group
  11. Date.UTC()MDN Web Docs
  12. datetime — Basic date and time typesPython Software Foundation
  13. Função DATAMicrosoft Support
  14. DATAEditores do Google Docs Ajuda
  15. Sistemas de data no ExcelMicrosoft Support
  16. Temporal.ZonedDateTime, Ambiguity and gaps from offset transitionsMDN 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 UTCBureau 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 barras no formato que começa pelo ano, por exemplo 2023/11/14. Uma data com o ano no fim, como se escreve em Portugal e no Brasil, introduza-a 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 – respondemos em 24 horas.