JavaScript Snippets

Fragmentos de timestamp Unix en JavaScript

Ejemplos de JavaScript para obtener el timestamp actual, convertir segundos o milisegundos Unix en objetos Date y formatear la salida con las APIs integradas del navegador.

Current Unix timestamp (seconds)
Math.floor(Date.now() / 1000)
Current Unix timestamp (milliseconds)
Date.now()
Timestamp from a Date object
new Date().getTime()
// or
+new Date()
Date object from Unix timestamp (seconds)
new Date(1700000000 * 1000)
ISO 8601 string from timestamp
new Date(1700000000 * 1000).toISOString()
// → "2023-11-15T06:13:20.000Z"
Formatted local string
new Date(1700000000 * 1000).toLocaleString()
new Date(1700000000 * 1000).toLocaleString("en-US", { timeZone: "America/New_York" })

Conceptos básicos de marcas de tiempo en JavaScript

JavaScript Date almacena el tiempo como milisegundos desde la época Unix. Usa Date.now() cuando necesites milisegundos y Math.floor(Date.now() / 1000) cuando una API espere segundos Unix.

Conversiones comunes en JavaScript

Al convertir una marca de tiempo Unix en segundos a un Date, multiplica por 1000 antes de llamar a new Date(). Usa toISOString() para salida UTC, toUTCString() para salida estilo HTTP e Intl.DateTimeFormat cuando necesites una zona horaria específica.

Notas de producción para JavaScript

Los errores de marcas de tiempo en JavaScript suelen venir de mezclar los milisegundos de Date con los segundos de la API. Mantén los objetos Date en el borde de la UI y pasa por las API solo números simples o cadenas ISO una vez que la unidad sea explícita. Al mostrar la hora local, usa Intl.DateTimeFormat con una zona horaria con nombre para que el resultado sea reproducible entre navegadores y servidores.

  • Usa Date.now() cuando necesites milisegundos epoch para temporizadores, eventos de analítica o almacenamiento del navegador
  • Usa Math.floor(Date.now() / 1000) cuando un endpoint de backend espere segundos Unix
  • Usa new Date(seconds * 1000) cuando una API envíe segundos
  • Usa toISOString() para cadenas UTC que puedan ir y volver a través de JSON

Referencias relacionadas de JavaScript

FAQ

¿Date.now() devuelve segundos Unix?
No. Date.now() devuelve milisegundos. Divide entre 1000 y redondea hacia abajo cuando una API, base de datos o herramienta de línea de comandos espere segundos Unix.
¿Debería almacenar objetos Date en JSON?
No. Convierte primero el valor a un número o a una cadena ISO 8601. JSON no tiene un tipo Date nativo, así que los valores explícitos son más fáciles de depurar y comparar.