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
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.
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 comuns (durações)
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
Math.floor(Date.now() / 1000); // seconds
Date.now(); // milliseconds
new Date(1735689600 * 1000).toISOString();
new Date('2025-01-01T00:00:00Z').getTime();
time(); // seconds
intval(microtime(true) * 1000); // milliseconds
date('Y-m-d H:i:s', 1735689600);
strtotime('2025-01-01 00:00:00');
import time
int(time.time()) # seconds
int(time.time() * 1000) # milliseconds
import datetime
datetime.datetime.utcfromtimestamp(1735689600).isoformat()
import datetime
int(datetime.datetime(2025,1,1,0,0,0,tzinfo=datetime.timezone.utc).timestamp())
import "time"
time.Now().Unix() // seconds
time.Now().UnixMilli() // milliseconds
import "time"
time.Unix(1735689600, 0).UTC().Format(time.RFC3339)
import "time"
ts := time.Date(2025,1,1,0,0,0,0,time.UTC).Unix()
use chrono::Utc;
let now = Utc::now();
let sec = now.timestamp(); // seconds i64
let ms = now.timestamp_millis(); // milliseconds i128
use chrono::{DateTime, NaiveDateTime, Utc};
let dt: DateTime = NaiveDateTime::from_timestamp_opt(1735689600, 0)
.unwrap()
.and_utc();
let iso = dt.to_rfc3339();
use chrono::DateTime;
let ts = DateTime::parse_from_rfc3339("2025-01-01T00:00:00Z")
.unwrap()
.timestamp();
-- MySQL / MariaDB
SELECT UNIX_TIMESTAMP();
-- PostgreSQL
SELECT EXTRACT(EPOCH FROM NOW())::bigint;
-- SQLite
SELECT strftime('%s', 'now');
-- MySQL / MariaDB
SELECT FROM_UNIXTIME(1735689600);
-- PostgreSQL
SELECT to_timestamp(1735689600) AT TIME ZONE 'UTC';
-- SQLite
SELECT datetime(1735689600, 'unixepoch');
-- 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');