Tempo Unix para data: converter um timestamp Unix em hora legível

Um guia prático para converter o tempo Unix em formatos de data: UTC, fuso local, ISO 8601, datetime de banco e saída legível. Cobre timestamp Unix para data, tempo Linux para data e os erros comuns de segundos vs milissegundos.

O que significa converter Unix time em data

O tempo Unix é um número que conta o tempo decorrido desde 1 de janeiro de 1970 às 00:00:00 UTC. Converter Unix time em data significa transformar esse número em uma data de calendário, um horário e uma exibição com fuso. O timestamp em si é neutro quanto ao fuso; UTC ou hora local só afetam como o instante é mostrado às pessoas.

A regra rápida de conversão

Primeiro identifique a unidade. Um timestamp Unix moderno de 10 dígitos geralmente está em segundos. Um moderno de 13 dígitos geralmente em milissegundos. JavaScript Date espera milissegundos, enquanto Linux, Python, PHP, Go e muitas funções de banco costumam trabalhar com segundos.

  • Unix seconds to JavaScript Date: new Date(seconds * 1000)
  • Unix milliseconds to JavaScript Date: new Date(milliseconds)
  • Linux command: date -u -d @1700000000
  • Python UTC datetime: datetime.fromtimestamp(seconds, tz=timezone.utc)
  • PostgreSQL: SELECT to_timestamp(1700000000)

Exemplos de timestamp Unix para data

Exemplos são a forma mais rápida de verificar se um valor está em segundos, milissegundos ou outra unidade. Se o ano convertido fica perto de 1970, você provavelmente passou segundos para uma API que esperava milissegundos. Se o ano fica muito no futuro, provavelmente passou milissegundos para uma API que esperava segundos.

  • 0 segundos desde o epoch = 1970-01-01 00:00:00 UTC
  • 1700000000 segundos desde o epoch = 2023-11-14 22:13:20 UTC
  • 1700000000000 milissegundos desde o epoch = 2023-11-14 22:13:20 UTC
  • -86400 segundos desde o epoch = 1969-12-31 00:00:00 UTC
  • 1767225600 segundos desde o epoch = 2026-01-01 00:00:00 UTC

Data UTC vs data local

Um timestamp Unix representa um instante exato. UTC é a referência mais segura para logs, APIs e depuração. A hora local é útil para interfaces, calendários e relatórios. O mesmo timestamp Unix pode aparecer como datas diferentes em Nova York, Londres, Xangai e Tóquio, especialmente perto da meia-noite UTC.

  • Use UTC ao comparar eventos entre servidores ou regiões
  • Use o fuso IANA do usuário ao exibir datas em um app
  • Use ISO 8601 com Z para saída UTC legível por máquina
  • Use um conversor de fusos quando o dia de calendário local importar

FAQ sobre Unix time para data

Como converto Unix time em uma data?
Identifique se o valor está em segundos ou milissegundos e converta com um conversor de timestamps ou uma API da linguagem. No JavaScript, multiplique os segundos por 1000 antes de passar o valor para new Date().
O tempo do Linux é o mesmo que o tempo Unix?
Para a conversão normal de timestamps, sim. O tempo do Linux é tempo Unix: segundos desde 1970-01-01 00:00:00 UTC.
Por que meu timestamp Unix converte para 1970?
Isso geralmente significa que um timestamp em segundos foi tratado como milissegundos. Multiplique o valor de 10 dígitos por 1000 antes de converter com JavaScript Date.
Como converto Unix time em uma data no Excel?
O Excel não tem epoch Unix: divida o valor em segundos por 86400 e some o serial de data de 1970: =A1/86400 + DATE(1970,1,1), depois formate a célula como data. Para milissegundos, divida por 86400000.