Zona horaria
Concepto de Fechas y tiempo en Utilidades, conectado con sus herramientas y conceptos vecinos.
Actualizado el 19 de julio de 2026
Una zona horaria es la región geográfica que comparte el mismo tiempo oficial, definida como un desplazamiento fijo respecto al UTC (Tiempo Universal Coordinado). España peninsular está en UTC+1 en invierno y UTC+2 en verano; Canarias va una hora por detrás. Conocer la zona horaria evita errores al programar reuniones internacionales, interpretar logs de servidores o trabajar con timestamps Unix.
¿Cómo se calcula el desplazamiento UTC?
Cada zona horaria tiene un offset, expresado como UTC+N o UTC−N, que indica cuántas horas hay que sumar o restar al tiempo UTC para obtener la hora local. Si en Madrid son las 15:00 (UTC+1 en invierno), en Nueva York son las 09:00 (UTC−5) y en Tokio son las 23:00 (UTC+9).
La fórmula es directa: hora local = UTC + offset. Para convertir al revés, UTC = hora local − offset.
Zonas horarias de referencia frecuentes
| Zona | Offset (invierno) | Países / ciudades |
|---|---|---|
| UTC−5 (EST) | −5 h | Nueva York, Miami |
| UTC−6 (CST) | −6 h | Ciudad de México, Chicago |
| UTC−8 (PST) | −8 h | Los Ángeles, Vancouver |
| UTC±0 (GMT) | 0 h | Londres, Dublín, Reikiavik |
| UTC+1 (CET) | +1 h | Madrid, París, Berlín |
| UTC+2 (EET) | +2 h | Atenas, Helsinki |
| UTC+3 | +3 h | Moscú, Nairobi |
| UTC+5:30 (IST) | +5:30 h | India |
| UTC+8 (CST) | +8 h | Pekín, Singapur |
| UTC+9 (JST) | +9 h | Tokio, Seúl |
Horario de verano (DST)
El horario de verano (Daylight Saving Time, DST) adelanta el reloj 60 minutos en primavera y lo atrasa en otoño. En Europa el cambio ocurre el último domingo de marzo (se adelanta) y el último domingo de octubre (se atrasa). Esto significa que durante el verano la diferencia entre Madrid y Nueva York pasa de 6 a 5 horas (CET se convierte en CEST, UTC+2).
No todos los países lo aplican: Estados Unidos solo observa DST en algunos estados (Hawái y Arizona no lo hacen), y países como China, Japón o Argentina mantienen un offset constante todo el año.
Zona horaria en programación
En código, lo más seguro es:
- Almacenar siempre en UTC. Un timestamp Unix no lleva información de zona horaria; los servidores deben guardar fechas en UTC en la base de datos.
- Convertir a hora local solo en la presentación. El navegador (o la API del sistema operativo) conoce la zona horaria del usuario y aplica el offset automáticamente.
- Evitar la cadena “CET” o “GMT+1” en código. Usa identificadores de la base de datos IANA como
Europe/MadridoAmerica/New_York, que incluyen las reglas de DST históricas y futuras.
// JavaScript: convertir fecha UTC a hora de Madrid
const fecha = new Date('2026-01-15T12:00:00Z'); // UTC
const opciones = { timeZone: 'Europe/Madrid', hour: '2-digit', minute: '2-digit' };
fecha.toLocaleTimeString('es-ES', opciones); // "13:00"
Errores comunes
- Asumir UTC+1 = Madrid siempre: en verano Madrid usa UTC+2 (CEST); ignorar el DST provoca errores de una hora en videoconferencias y automatizaciones.
- Confundir GMT con UTC: son funcionalmente iguales para la mayoría de usos, pero UTC es el estándar técnico que usan sistemas informáticos; GMT es un término coloquial y zona horaria civil.
- Usar la zona horaria del servidor en vez del usuario: los cálculos de hora deben hacerse con la zona horaria del usuario, no del servidor donde corre el código.
- No considerar los cambios históricos: algunos países han cambiado su offset a lo largo del tiempo. Para fechas históricas, la base de datos IANA (tz database) es la referencia correcta.
Para calcular diferencias entre dos instantes en distintas zonas horarias, convierte primero ambos a timestamps Unix y resta; el resultado son segundos exactos, sin importar los cambios de horario intermedios.
Conceptos relacionados
También en Fechas y tiempo
Preguntas frecuentes
¿Qué diferencia hay entre UTC y GMT?
¿Cuántas zonas horarias existen en el mundo?
¿Cómo afecta el horario de verano a las zonas horarias?
40 variantes de este concepto en el grafo. Ver todas las herramientas de Utilidades.