¿Qué es la conversión de zonas horarias?
Un conversor de zonas horarias traduce una fecha y hora de una zona horaria a otra, permitiéndote ver al instante cuál es la hora equivalente en cualquier parte del mundo. El mundo está dividido en 24 zonas horarias principales, cada una definida como un desplazamiento fijo respecto al Tiempo Universal Coordinado (UTC). Cuando son las 14:00 UTC, son las 09:00 en Nueva York (UTC-5) y las 23:00 en Tokio (UTC+9). Convertir correctamente entre zonas horarias requiere conocer el desplazamiento UTC tanto de la zona de origen como de la de destino, y si el horario de verano (DST) está vigente en alguna de ellas.
La base de datos de zonas horarias IANA (conocida también como base de datos Olson o tz database) es la fuente estándar de definiciones de zonas horarias utilizada por sistemas operativos, lenguajes de programación y navegadores web. Asigna un identificador canónico a cada zona en el formato Región/Ciudad, como America/New_York o Asia/Tokyo. A diferencia de las abreviaturas fijas como EST o PST, los identificadores IANA codifican el historial completo de cambios de desplazamiento UTC y transiciones de horario de verano para cada región, convirtiéndolos en la única forma fiable de convertir tiempos en fechas del pasado o del futuro.
Este conversor de zonas horarias utiliza los datos IANA integrados en el motor JavaScript de tu navegador mediante la API Intl. Seleccionas una zona horaria de origen, introduces una fecha y hora, y la herramienta calcula de inmediato la hora equivalente en la zona de destino, incluyendo cualquier ajuste por horario de verano. Al ejecutarse completamente en tu navegador, no hay comunicación con ningún servidor y ningún dato sale de tu dispositivo.
¿Por qué usar este conversor de zonas horarias?
El cálculo manual de zonas horarias es propenso a errores, especialmente cuando el horario de verano está implicado. Una ciudad que es UTC-5 en enero puede ser UTC-4 en julio, y las fechas de transición varían entre países. Estados Unidos y Europa cambian sus relojes en diferentes domingos, creando una ventana de dos semanas en la que el desplazamiento entre Nueva York y Londres es distinto al del resto del año. Esta herramienta gestiona todas esas transiciones automáticamente usando la misma base de datos IANA que utiliza tu sistema operativo.
Casos de uso del conversor de zonas horarias
Referencia de zonas horarias IANA
La base de datos de zonas horarias IANA define más de 400 identificadores de zonas horarias, y se actualiza varias veces al año para reflejar cambios políticos, nuevas reglas de horario de verano y correcciones históricas. La tabla a continuación lista las zonas más utilizadas con sus desplazamientos UTC estándar y su comportamiento respecto al horario de verano. Los desplazamientos indicados corresponden al horario estándar; la columna DST muestra el desplazamiento ajustado cuando el horario de verano está activo en esa región.
| Identificador IANA | Nombre común | Desplazamiento UTC | Horario de verano |
|---|---|---|---|
| UTC | Coordinated Universal Time | +00:00 | No |
| America/New_York | Eastern Time (US) | -05:00 | Yes (EDT -04:00) |
| America/Chicago | Central Time (US) | -06:00 | Yes (CDT -05:00) |
| America/Denver | Mountain Time (US) | -07:00 | Yes (MDT -06:00) |
| America/Los_Angeles | Pacific Time (US) | -08:00 | Yes (PDT -07:00) |
| Europe/London | Greenwich Mean Time | +00:00 | Yes (BST +01:00) |
| Europe/Berlin | Central European Time | +01:00 | Yes (CEST +02:00) |
| Europe/Moscow | Moscow Time | +03:00 | No |
| Asia/Dubai | Gulf Standard Time | +04:00 | No |
| Asia/Kolkata | India Standard Time | +05:30 | No |
| Asia/Shanghai | China Standard Time | +08:00 | No |
| Asia/Tokyo | Japan Standard Time | +09:00 | No |
| Australia/Sydney | Australian Eastern Time | +10:00 | Yes (AEDT +11:00) |
| Pacific/Auckland | New Zealand Standard Time | +12:00 | Yes (NZDT +13:00) |
Ejemplos de código
Todos los principales lenguajes de programación ofrecen conversión de zonas horarias mediante la base de datos IANA. Los ejemplos a continuación muestran cómo convertir una marca de tiempo UTC a otras zonas horarias en JavaScript usando la API Intl, Python usando el módulo zoneinfo, Go usando el paquete time, y el comando GNU date para scripts de shell.
// Convert a date from one timezone to another
const date = new Date('2026-03-15T09:00:00Z')
// Format in specific timezone
const nyTime = date.toLocaleString('en-US', { timeZone: 'America/New_York' })
// → "3/15/2026, 5:00:00 AM"
const tokyoTime = date.toLocaleString('en-US', { timeZone: 'Asia/Tokyo' })
// → "3/15/2026, 6:00:00 PM"
// Get the UTC offset for a timezone programmatically
function getUtcOffset(tz: string, date = new Date()) {
const fmt = new Intl.DateTimeFormat('en-US', {
timeZone: tz,
timeZoneName: 'longOffset',
})
const parts = fmt.formatToParts(date)
return parts.find(p => p.type === 'timeZoneName')?.value ?? ''
}
getUtcOffset('Asia/Kolkata') // → "GMT+05:30"from datetime import datetime
from zoneinfo import ZoneInfo
# Create a timezone-aware datetime
dt = datetime(2026, 3, 15, 9, 0, tzinfo=ZoneInfo('UTC'))
# Convert to New York time
ny = dt.astimezone(ZoneInfo('America/New_York'))
print(ny) # → 2026-03-15 05:00:00-04:00 (EDT in March)
# Convert to Tokyo time
tokyo = dt.astimezone(ZoneInfo('Asia/Tokyo'))
print(tokyo) # → 2026-03-15 18:00:00+09:00
# Get current time in any timezone
now_berlin = datetime.now(ZoneInfo('Europe/Berlin'))
print(now_berlin.strftime('%Y-%m-%d %H:%M %Z')) # → 2026-03-15 10:00 CETpackage main
import (
"fmt"
"time"
)
func main() {
utc := time.Date(2026, 3, 15, 9, 0, 0, 0, time.UTC)
// Load timezone by IANA name
ny, _ := time.LoadLocation("America/New_York")
tokyo, _ := time.LoadLocation("Asia/Tokyo")
fmt.Println(utc.In(ny)) // → 2026-03-15 05:00:00 -0400 EDT
fmt.Println(utc.In(tokyo)) // → 2026-03-15 18:00:00 +0900 JST
// Get the UTC offset in seconds
_, offset := utc.In(ny).Zone()
fmt.Printf("UTC offset: %+d hours\n", offset/3600) // → UTC offset: -4 hours
}# Display current time in a specific timezone TZ='Asia/Tokyo' date '+%Y-%m-%d %H:%M:%S %Z' # → 2026-03-15 18:00:00 JST # Convert a UTC timestamp to another timezone TZ='America/Los_Angeles' date -d '2026-03-15T09:00:00Z' '+%Y-%m-%d %H:%M %Z' # → 2026-03-15 02:00 PDT # List all available IANA timezone names timedatectl list-timezones | head -20