Guía / código

Obtener el timestamp Unix actual en código

Ejemplos para recuperar segundos o milisegundos Unix en JavaScript, Python, Java, PHP, Go, SQL y 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 y Shell

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

Comprueba la unidad de destino

Verifica si el sistema receptor espera segundos o milisegundos. Una unidad incorrecta es más frecuente que un reloj erróneo y causa una diferencia de mil veces. En sistemas distribuidos, comprueba además la sincronización del host, el intervalo del entero y el formato de serialización.

Comprobar la unidad de cada función

Date.now() en JavaScript devuelve milisegundos. time.time() en Python devuelve segundos con fracción; time.time_ns() devuelve nanosegundos enteros. En Java, Instant separa los segundos completos de un ajuste en nanosegundos. Añadir ceros no aumenta la precisión medida.

Usa 1700000000 segundos o 1700000000000 milisegundos como dato fijo de prueba. Ambos deben producir 2023-11-14T22:13:20Z en el conversor. Un dato fijo permite identificar un error de escala mejor que un reloj que cambia.

Fecha de calendario y duración en JavaScript

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

const started = performance.now()
// Ejecuta aquí la operación que quieres medir.
const elapsedMilliseconds = performance.now() - started

Las tres primeras expresiones representan una fecha. Las dos últimas miden una duración con un reloj monotónico y no son timestamps Unix. Una corrección del reloj del sistema puede modificar el tiempo de calendario.

Transportar enteros grandes

No conviertas un valor de nanosegundos de 19 dígitos a Number antes de analizarlo. En JSON, utiliza una cadena decimal si el receptor no conserva enteros grandes. Después puedes convertirla a BigInt. Un número JSON puede perder los últimos dígitos antes de llegar al conversor.

En SQL, comprueba el motor y la zona de la sesión: funciones parecidas pueden aplicar zonas o devolver tipos diferentes. Documenta la unidad del campo y verifica una fecha conocida después de importar datos. Consulta ISO y tiempo Unix para elegir el formato.

Normas y documentación técnica

Herramientas / 01—06

Más herramientas de timestamp

Cada herramienta comienza con una entrada concreta y ofrece una respuesta precisa.