Marcas de tiempo y operaciones con fechas
Calcule diferencias y desplazamientos entre fechas.
Marcas de tiempo y operaciones con fechas es una lección gratuita de JavaScript Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de JavaScript Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de JavaScript Academy incluye 4 lecciones en total.
Marcas de tiempo
Internamente, una fecha se almacena como una marca de tiempo: el número de milisegundos transcurridos desde la época Unix, la medianoche del 1 de enero de 1970 en UTC.
const d = new Date("1970-01-01T00:00:00Z")
console.log(d.getTime())Date.now
Date.now devuelve la marca de tiempo actual en milisegundos sin crear un objeto Date, lo que resulta eficaz para medir el tiempo.
const t = Date.now()
console.log(typeof t)
console.log(t > 0)getTime
El método getTime devuelve un objeto de fecha como su marca de tiempo en milisegundos, algo útil para hacer comparaciones y operaciones aritméticas.
const d = new Date(2024, 0, 1)
console.log(typeof d.getTime())Comparación de fechas
Compare dos fechas comparando sus marcas de tiempo. La fecha más antigua tiene el número menor.
const a = new Date(2024, 0, 1)
const b = new Date(2024, 5, 1)
console.log(a.getTime() < b.getTime())Diferencia en milisegundos
Restar una fecha de otra convierte ambas en marcas de tiempo y produce la diferencia en milisegundos.
const a = new Date(2024, 0, 1)
const b = new Date(2024, 0, 2)
console.log(b - a)Conversión a días
Divida una diferencia en milisegundos entre el número de milisegundos de un día para obtener la diferencia en días.
const a = new Date(2024, 0, 1)
const b = new Date(2024, 0, 11)
const ms = b - a
const days = ms / (1000 * 60 * 60 * 24)
console.log(days)Suma de tiempo
Para sumar tiempo, conviértalo en una marca de tiempo, añada la cantidad de milisegundos y cree una fecha nueva a partir del resultado.
const start = new Date(2024, 0, 1)
const oneDay = 1000 * 60 * 60 * 24
const next = new Date(start.getTime() + oneDay)
console.log(next.getDate())setDate para cálculos del calendario
El método setDate ajusta el día del mes y pasa correctamente al mes siguiente cuando es necesario.
const d = new Date(2024, 0, 31)
d.setDate(d.getDate() + 1)
console.log(d.getMonth())
console.log(d.getDate())Medición del tiempo transcurrido
Capture Date.now antes y después de una operación y reste ambos valores para medir cuánto tardó en milisegundos.
const start = Date.now()
let sum = 0
for (let i = 0; i < 1000; i++) { sum += i }
const elapsed = Date.now() - start
console.log(elapsed >= 0)De marca de tiempo a fecha
Pasar una marca de tiempo numérica al constructor Date reconstruye el momento original.
const ts = 1704067200000
const d = new Date(ts)
console.log(d.getUTCFullYear())Segundos frente a milisegundos
Las marcas de tiempo de JavaScript están expresadas en milisegundos, pero muchas API usan segundos. Multiplique o divida entre 1000 para convertirlas.
const seconds = 1704067200
const d = new Date(seconds * 1000)
console.log(d.getUTCFullYear())Comprobación rápida
Compruebe sus conocimientos sobre las marcas de tiempo.
Resumen
Resumen: Internamente, las fechas son marcas de tiempo en milisegundos.
- Date.now proporciona la marca de tiempo actual
- Reste fechas para obtener una diferencia en milisegundos
- Divida entre los milisegundos de un día para obtener cantidades de días
- JavaScript usa milisegundos, no segundos
const a = new Date(2024, 0, 1)
const b = new Date(2024, 0, 2)
console.log(b - a)Preguntas frecuentes
¿La lección «Marcas de tiempo y operaciones con fechas» es gratis?
Sí — el texto completo de «Marcas de tiempo y operaciones con fechas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de JavaScript Academy, actualiza a CoddyKit PRO. El curso de JavaScript Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Marcas de tiempo y operaciones con fechas»?
Calcule diferencias y desplazamientos entre fechas. Practicas JavaScript Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar JavaScript Academy?
No se requiere experiencia previa. JavaScript Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Marcas de tiempo y operaciones con fechas»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de JavaScript Academy?
Sí. Cada lección de JavaScript Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Creación y lectura de fechas
- Marcas de tiempo y operaciones con fechas
- Formato de fechas
- Zonas horarias y UTC