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.