Guia / código

Obter o timestamp Unix atual em código

Exemplos para recuperar segundos ou milissegundos Unix em JavaScript, Python, Java, PHP, Go, SQL e Shell.

JavaScript

const milliseconds = Date.now()
const seconds = Math.floor(milliseconds / 1000)

Python

import time
seconds = int(time.time())
milliseconds = time.time_ns() // 1_000_000

Java

long milliseconds = System.currentTimeMillis();
long seconds = java.time.Instant.now().getEpochSecond();

PHP, Go, SQL e Shell

PHP:   time()
Go:    time.Now().Unix()
PostgreSQL: floor(extract(epoch from now()))
Shell: date +%s

Confira a unidade de destino

Verifique se o sistema receptor espera segundos ou milissegundos. Uma unidade incorreta é mais comum que um relógio errado e causa diferença de mil vezes. Em sistemas distribuídos, confira também sincronização do host, intervalo do tipo inteiro e formato de serialização.

Conferir a unidade de cada função

Date.now() em JavaScript retorna milissegundos. time.time() em Python retorna segundos com fração; time.time_ns() retorna nanossegundos inteiros. Em Java, Instant separa segundos completos de um ajuste em nanossegundos. Acrescentar zeros não aumenta a precisão medida.

Use 1700000000 segundos ou 1700000000000 milissegundos como caso fixo de teste. Ambos devem produzir 2023-11-14T22:13:20Z no conversor. Um valor fixo facilita detectar erros de escala.

Data de calendário e duração em JavaScript

const milliseconds = Date.now()
const seconds = Math.floor(milliseconds / 1000)
const isoUtc = new Date(milliseconds).toISOString()

const started = performance.now()
// Execute aqui a operação que deseja medir.
const elapsedMilliseconds = performance.now() - started

As três primeiras expressões representam uma data de calendário. As duas últimas medem uma duração com relógio monotônico e não são timestamps Unix. Um ajuste no relógio do sistema pode modificar o tempo de calendário.

Transportar inteiros grandes

Não converta um valor de nanossegundos de 19 dígitos para Number antes da leitura. Em JSON, use uma string decimal quando o receptor não preservar inteiros grandes. Depois converta para BigInt, se houver suporte. Um número JSON pode perder os últimos dígitos antes de chegar ao conversor.

No SQL, confira o mecanismo do banco e o fuso da sessão. Funções com nomes parecidos podem aplicar fusos ou retornar tipos distintos. Documente a unidade e verifique uma data conhecida após cada importação. Consulte ISO e tempo Unix para escolher o formato.

Normas e documentação técnica

Ferramentas / 01—06

Mais ferramentas de timestamp

Cada ferramenta parte de uma entrada específica e entrega uma resposta objetiva.