Cómo obtener timestamp en JavaScript: 5 formas con ejemplos
\n\nCada desarrollador se ha enfrentado al menos una vez a la tarea: necesita guardar un momento en el tiempo, comparar fechas o enviar datos al servidor. Y aquí viene al rescate el timestamp en JavaScript — una marca de tiempo universal que todos los sistemas entienden. En esta guía te mostraré 5 formas probadas de obtener un timestamp, analizaré sus pros y contras, y responderé preguntas populares de Stack Overflow.
\n\nSi alguna vez has buscado en Google "how do I get a timestamp in JavaScript" — no estás solo. Miles de desarrolladores buscan esta respuesta cada día. Aclaremos el tema de una vez por todas.
\n\n¿Qué es un timestamp y para qué sirve?
\n\nUn timestamp (marca de tiempo) es la cantidad de milisegundos transcurridos desde el 1 de enero de 1970 a las 00:00:00 UTC. Esta fecha se llama Unix epoch. ¿Para qué sirve?
\n\n- \n
- Universalidad: el timestamp no depende de la zona horaria — es UTC puro. \n
- Facilidad de almacenamiento: un solo número en lugar de una cadena de fecha. \n
- Comparación: es fácil calcular la diferencia entre dos momentos en el tiempo. \n
- Compatibilidad: todos los lenguajes de programación y bases de datos entienden el timestamp. \n
Ahora pasemos a lo más interesante — cómo obtenerlo en JavaScript.
\n\nForma 1: Date.now() — la más rápida y concisa
\n\nEste es mi método favorito. Date.now() devuelve el timestamp en milisegundos justo ahora. Sin objetos adicionales, sin constructores — solo un número.
// Obtenemos el timestamp actual\nconst currentTimestamp = Date.now();\nconsole.log(currentTimestamp); // 1712345678901\n\n// Se puede usar directamente para mediciones\nconst start = Date.now();\n// ... algún código ...\nconst end = Date.now();\nconsole.log(`La ejecución tomó ${end - start} ms`);\n\n\nVentajas:
\n- \n
- Máximo rendimiento (no crea objetos) \n
- Código legible y corto \n
- Soportado en todos los navegadores modernos y Node.js \n
Desventajas:
\n- \n
- Solo devuelve el momento actual (no se puede especificar una fecha) \n
Usa Date.now() cuando necesites el timestamp actual en JavaScript sin complicaciones.
Forma 2: new Date().getTime() — el clásico del género
\n\nEste método lo conoce cualquiera que haya trabajado con JavaScript más de un año. Creamos un objeto Date y llamamos a getTime().
// Obtenemos el timestamp a través del objeto Date\nconst timestamp = new Date().getTime();\nconsole.log(timestamp); // 1712345678901\n\n// Podemos obtener el timestamp para una fecha específica\nconst specificDate = new Date('2024-12-31T23:59:59');\nconst specificTimestamp = specificDate.getTime();\nconsole.log(specificTimestamp); // 1735689599000\n\n\nVentajas:
\n- \n
- Se puede obtener el timestamp para cualquier fecha arbitraria \n
- Compatibilidad hacia atrás (funciona en navegadores antiguos) \n
- Sintaxis intuitiva \n
Desventajas:
\n- \n
- Crea un objeto adicional (un poco más lento que Date.now()) \n
Elige new Date().getTime() cuando necesites obtener la marca de tiempo de JavaScript para una fecha específica o trabajar con diferentes momentos en el tiempo.
Forma 3: +new Date() — el truco del operador unario más
\n\nPocos lo saben, pero el operador unario más convierte un objeto Date en un número — su timestamp. Esto funciona gracias a la conversión forzada de tipos.
\n\n// Forma corta pero no obvia\nconst timestamp = +new Date();\nconsole.log(timestamp); // 1712345678901\n\n// Incluso se puede sin paréntesis\nconst timestamp2 = +new Date;\nconsole.log(timestamp2); // 1712345678902\n\n\nVentajas:
\n- \n
- Escritura muy corta