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.