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.
Math.floor(Date.now() / 1000)Date.now()new Date().getTime()
// or
+new Date()new Date(1700000000 * 1000)new Date(1700000000 * 1000).toISOString()
// → "2023-11-15T06:13:20.000Z"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.