Zonas horarias y UTC
Gestione correctamente UTC y la hora local.
Zonas horarias y UTC es una lección gratuita de JavaScript Academy en CoddyKit. Esta es la lección 4 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.
Hora local frente a UTC
Una fecha representa un instante absoluto, pero puede leerse en hora local o en UTC, la hora de referencia global. Los getters están disponibles en ambas variantes.
const d = new Date(Date.UTC(2024, 0, 15, 12, 0, 0))
console.log(d.getUTCHours())Getters de UTC
Los métodos cuyo nombre comienza por UTC, como getUTCFullYear y getUTCHours, leen los componentes de la fecha en la zona UTC, independientemente de la máquina.
const d = new Date(Date.UTC(2024, 5, 15, 8, 30, 0))
console.log(d.getUTCFullYear())
console.log(d.getUTCHours())
console.log(d.getUTCMinutes())getTimezoneOffset
getTimezoneOffset devuelve la diferencia entre la hora local y UTC en minutos. Un valor positivo significa que la hora local está atrasada respecto de UTC.
const d = new Date()
const offset = d.getTimezoneOffset()
console.log(typeof offset)Signo del desfase
El signo del desfase es el inverso de lo que muchas personas esperan: una zona adelantada respecto de UTC produce un desfase negativo. Convierta los minutos en horas dividiéndolos entre 60.
const offsetMinutes = 120
const hours = offsetMinutes / 60
console.log(hours)Crear fechas UTC
Date.UTC recibe los mismos argumentos de componentes que el constructor, pero los interpreta como UTC y devuelve una marca de tiempo que puede pasar a new Date.
const ts = Date.UTC(2024, 0, 1, 0, 0, 0)
const d = new Date(ts)
console.log(d.getUTCHours())Setters de UTC
Los setters, como setUTCHours, ajustan una fecha en la zona UTC. Funcionan como los setters locales, pero están anclados a UTC.
const d = new Date(Date.UTC(2024, 0, 1, 0, 0, 0))
d.setUTCHours(15)
console.log(d.getUTCHours())La Z en las cadenas ISO
La Z final de una cadena ISO significa que la hora está en UTC, también conocida como hora zulú. Las cadenas que no la incluyen pueden interpretarse como hora local.
const d = new Date("2024-01-15T10:00:00Z")
console.log(d.getUTCHours())Mismo instante, lecturas diferentes
Los getters locales y los de UTC describen el mismo instante en zonas diferentes, por lo que sus valores de hora pueden diferir según el desfase.
const d = new Date(Date.UTC(2024, 0, 1, 12, 0, 0))
console.log(d.getUTCHours())Almacenar en UTC
Una práctica recomendada habitual es almacenar todas las fechas en UTC y convertirlas a la hora local solo para mostrarlas, lo que evita ambigüedades entre regiones.
const d = new Date(Date.UTC(2024, 0, 1, 0, 0, 0))
console.log(d.toISOString())Especificar una zona horaria
Los métodos de formato aceptan una opción timeZone, de modo que puede mostrar explícitamente un instante en una zona determinada, como UTC.
const d = new Date(Date.UTC(2024, 0, 1, 0, 0, 0))
const text = d.toLocaleString("en-US", { timeZone: "UTC" })
console.log(typeof text)Evitar errores comunes
Mezclar métodos locales y de UTC en una misma fecha provoca errores sutiles. Elija un único modelo para cada cálculo y aplíquelo de forma coherente.
const d = new Date(Date.UTC(2024, 0, 1, 0, 0, 0))
console.log(d.getUTCFullYear())
console.log(d.getUTCMonth())Comprobación rápida
Compruebe sus conocimientos sobre zonas horarias.
Resumen
Resumen: Lea y escriba las fechas de forma coherente, ya sea en hora local o en UTC.
- Los getters y setters de UTC funcionan en la zona global
- getTimezoneOffset devuelve minutos y utiliza el signo inverso
- El sufijo Z marca una cadena ISO como UTC
- Almacene las fechas en UTC y muéstrelas en hora local
const d = new Date(Date.UTC(2024, 0, 1, 12, 0, 0))
console.log(d.getUTCHours())Preguntas frecuentes
¿La lección «Zonas horarias y UTC» es gratis?
Sí — el texto completo de «Zonas horarias y UTC» 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 «Zonas horarias y UTC»?
Gestione correctamente UTC y la hora local. 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 4 de 4.
¿Cuánto tiempo toma la lección «Zonas horarias y UTC»?
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