Conversor de Carimbo de Tempo Unix

Ferramenta de conversão bidirecional entre carimbos de tempo Unix/Linux e data/hora, com comparação em múltiplos fusos horários.

Hora atual

Timestamp atual (segundos)
1766513599
Hora atual
2025-12-23 18:13:19

Converter timestamp para data

Resultado da conversão(automático)

Converter data para timestamp

Resultado da conversão(automático)

Conversor de data e hora de múltiplos timestamps

Conversor de data e hora de múltiplos timestamps

Conversor de timestamp de múltiplas datas

Conversor de timestamp de múltiplas datas

Instruções de uso

Esta ferramenta é usada para realizar rapidamente a conversão bidirecional entre o carimbo de data/hora Unix e a data/hora em diferentes cenários. Suporta precisão em segundos e milissegundos e permite selecionar o fuso horário de destino para exibição comparativa. Fornece conversores de cartão único e múltiplos cartões. A conversão ocorre assim que você insere os dados, e os resultados são atualizados automaticamente ao alternar o fuso horário. Além disso, possui intervalos de tempo recentes e períodos de tempo comuns embutidos, atendendo às necessidades de desenvolvimento, depuração e conversão cotidiana.

Detecção automática: A ferramenta detectará automaticamente se o valor inserido é um carimbo de data/hora em segundos (10 dígitos) ou em milissegundos (13 dígitos).
Fuso horário: Exibe a hora local e a hora UTC, facilitando o uso em diferentes fusos horários.

Características da ferramenta

  • Conversão imediata ao inserir dados, suporta detecção automática de carimbos de data/hora em segundos/milissegundos.
  • Suporta seleção e exibição de fusos horários globais: três visualizações para local, UTC e fuso horário selecionado.
  • Múltiplos cartões de conversor, facilitando a comparação em lote.
  • Interface responsiva e amigável ao teclado, com boa acessibilidade.
  • Intervalos de tempo recentes e períodos de tempo comuns embutidos, prontos para cópia e uso.

O que é um timestamp?

O carimbo de data/hora Unix (Unix Timestamp) é o número total de segundos ou milissegundos decorridos desde 00:00:00 UTC de 01/01/1970 (Unix Epoch).

Um carimbo de data/hora é um número que representa o tempo, geralmente medido em segundos ou milissegundos.

O ponto de partida do carimbo de data/hora é 00:00:00 UTC de 01 de janeiro de 1970, esse momento é chamado de Época Unix.

O carimbo de data/hora foi originalmente usado no sistema operacional Unix, por isso é comumente chamado de carimbo de data/hora Unix.

O carimbo de data/hora é amplamente utilizado na programação e na comunicação de rede, especialmente no desenvolvimento web.

Precisões comuns: segundos (por exemplo, 1735689600) e milissegundos (por exemplo, 1735689600000). Ao representar datas e horas relacionadas a fusos horários, é necessário formatar a exibição em conjunto com o fuso horário.

Timestamps recentes (com base no fuso horário global)

Timestamps comuns (durações)

1 minuto
60 Segundos
1 hora
3600 Segundos
1 dia
86400 Segundos
1 semana
604800 Segundos
1 mês (considerando 30 dias)
2592000 Segundos
1 ano (considerando 365 dias)
31536000 Segundos

O problema do ano 2038 dos timestamps

O problema do ano 2038 refere-se ao problema de estouro do carimbo de data/hora Unix (em segundos, a partir de 1970-01-01 00:00:00 UTC) armazenado em um inteiro com sinal de 32 bits após 2038-01-19 03:14:07.

Como o intervalo de um inteiro com sinal de 32 bits é de -2.147.483.648 a 2.147.483.647, e o carimbo de data/hora de 2038-01-19 03:14:07 UTC é 2.147.483.647, após esse ponto no tempo, um inteiro com sinal de 32 bits não poderá representar os carimbos de data/hora subsequentes.

Quem é mais afetado são os antigos sistemas ou softwares que usam time_t de 32 bits. Sistemas modernos geralmente usam 64 bits (por exemplo, um inteiro de 64 bits em milissegundos) e não apresentam esse problema.

Recomenda-se o uso de carimbos de data/hora de 64 bits ou a utilização de bibliotecas de data que suportem um grande intervalo de datas.

Como obter/converter timestamps por meio de linguagens de programação

JavaScript
Obter o timestamp atual
Math.floor(Date.now() / 1000); // seconds
Date.now(); // milliseconds
Timestamp → Data
new Date(1735689600 * 1000).toISOString();
Data → Timestamp
new Date('2025-01-01T00:00:00Z').getTime();
PHP
Obter o timestamp atual
time();                // seconds
intval(microtime(true) * 1000); // milliseconds
Timestamp → Data
date('Y-m-d H:i:s', 1735689600);
Data → Timestamp
strtotime('2025-01-01 00:00:00');
Python
Obter o timestamp atual
import time

int(time.time())        # seconds
int(time.time() * 1000) # milliseconds
Timestamp → Data
import datetime

datetime.datetime.utcfromtimestamp(1735689600).isoformat()
Data → Timestamp
import datetime

int(datetime.datetime(2025,1,1,0,0,0,tzinfo=datetime.timezone.utc).timestamp())
Go
Obter o timestamp atual
import "time"

time.Now().Unix()      // seconds
time.Now().UnixMilli() // milliseconds
Timestamp → Data
import "time"

time.Unix(1735689600, 0).UTC().Format(time.RFC3339)
Data → Timestamp
import "time"

ts := time.Date(2025,1,1,0,0,0,0,time.UTC).Unix()
Rust
Obter o timestamp atual
use chrono::Utc;

let now = Utc::now();
let sec = now.timestamp();        // seconds i64
let ms  = now.timestamp_millis(); // milliseconds i128
Timestamp → Data
use chrono::{DateTime, NaiveDateTime, Utc};

let dt: DateTime = NaiveDateTime::from_timestamp_opt(1735689600, 0)
    .unwrap()
    .and_utc();
let iso = dt.to_rfc3339();
Data → Timestamp
use chrono::DateTime;

let ts = DateTime::parse_from_rfc3339("2025-01-01T00:00:00Z")
    .unwrap()
    .timestamp();
SQL
Obter o timestamp atual
-- MySQL / MariaDB
SELECT UNIX_TIMESTAMP();

-- PostgreSQL
SELECT EXTRACT(EPOCH FROM NOW())::bigint;

-- SQLite
SELECT strftime('%s', 'now');
Timestamp → Data
-- MySQL / MariaDB
SELECT FROM_UNIXTIME(1735689600);

-- PostgreSQL
SELECT to_timestamp(1735689600) AT TIME ZONE 'UTC';

-- SQLite
SELECT datetime(1735689600, 'unixepoch');
Data → Timestamp
-- MySQL / MariaDB
SELECT UNIX_TIMESTAMP('2025-01-01 00:00:00');

-- PostgreSQL
SELECT EXTRACT(EPOCH FROM TIMESTAMP '2025-01-01 00:00:00+00')::bigint;

-- SQLite
SELECT strftime('%s', '2025-01-01 00:00:00');