Diferencia de huso UTC
Cuando son las 15:30 en UTC+2, son las 08:30 en UTC−5, siete horas menos. Indique dos desfases fijos y una hora local y obtenga la diferencia entre los relojes y la hora equivalente, con un aviso si se cruza la medianoche. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Desfase a
- 2
- Desfase b
- -5
- Hora a
- 15
- Minuto a
- 30
- Hora a (reloj)
- 15:30
- Etiqueta desfase a
- UTC+2
- Etiqueta desfase b
- UTC−5
- Diferencia de horas
- -7
Una herramienta de diferencia de desfase horario responde a una pregunta estrecha pero habitual: si un lugar está fijo en UTC más o menos N horas y otro en M horas, ¿cuántas horas separan sus relojes y qué hora local es en B cuando es una hora dada en A? Introduzca dos desfaces fijos en horas respecto al Tiempo Universal Coordinado—horas enteras como más dos o menos cinco, o desfaces civiles fraccionarios como más cinco coma cinco para la India—y un reloj local de veinticuatro horas en la ubicación A. La calculadora devuelve la diferencia horaria con signo B menos A, la separación absoluta, el reloj local mapeado en B con una nota de día de calendario cuando se cruza la medianoche, y la aritmética paso a paso que puede comprobar a mano.
Desfaces UTC fijos frente a zonas horarias con nombre
La hora civil suele publicarse como un desfase fijo respecto al Tiempo Universal Coordinado: UTC más dos para un horario de invierno en Europa Central, UTC menos cinco para la hora estándar del Este, UTC más cinco horas treinta minutos para la hora estándar de la India, o UTC más catorce para las islas de la Línea. Un desfase fijo es un único número real de horas—positivo al este del meridiano de Greenwich en la convención de signo habitual, negativo al oeste—sin cambio estacional.
Las zonas con nombre como America/New_York o Europe/Paris son distintas: son identificadores en la base de datos IANA cuyo desfase efectivo puede cambiar cuando aplican las reglas de horario de verano. Esta capacidad no resuelve nombres de ciudad, códigos de país ni identificadores de zona y no llama a Date ni a una base tz.
Usted aporta los dos desfaces que ya conoce de un horario, un billete, una configuración de servidor o una guía de estilo, y obtiene la diferencia aritmética pura entre esos números más un mapeo de hora local. Esa separación de intención importa para la búsqueda y la corrección: quien escribe diferencia de desfase horario o horas UTC entre dos desfaces quiere una calculadora que no aplique en silencio el horario de verano ni invente un hueco de primavera.
Quien necesita Nueva York frente a Tokio con horario de verano debe usar un convertidor de zona completo. Catorce horas es el límite exterior práctico de los desfaces civiles reales en uso; los valores fuera de ese rango se tratan como errores de entrada de datos en lugar de esquemas exóticos de medio día.
Qué puede hacer con ella
Cálculo de reuniones con etiquetas UTC± publicadas
Los equipos que ya conocen ambos lados como desfaces fijos convierten una hora de inicio local en A al reloj que ven los colegas en B sin abrir una base de husos completa.
Notas de viaje y cruces de horarios
Los viajeros comparan desfaces del billete (por ejemplo UTC+1 frente a UTC−5) y verifican a qué reloj del lado de llegada mapea una hora del lado de salida, incluido el wrap al día siguiente.
Preguntas frecuentes
¿Qué es un desfase UTC fijo?
Un desfase UTC fijo es un número constante de horas respecto al Tiempo Universal Coordinado (por ejemplo +2 o −5), sin aplicar reglas de horario de verano de zonas con nombre. Esta herramienta solo acepta esos números.
¿Qué ocurre si un desfase supera ±14 horas?
Los desfaces civiles reales se mantienen en torno a ±14 horas; los valores fuera de ese rango se tratan como errores.
¿Maneja el horario de verano?
No. No hay base de datos IANA ni uso de Date. Aporte los desfaces fijos que ya aplican para la fecha que le importa.
¿La calculadora de diferencia de desfase horario es gratuita?
La herramienta del navegador es gratuita y se ejecuta en local.
¿Qué significa una diferencia de horas negativa?
La diferencia es el segundo desfase menos el primero. Un resultado negativo, como menos 7 de UTC+2 a UTC−5, indica que el reloj del segundo lugar va por detrás; uno positivo, que va por delante.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/travel/timezone-offset-diff \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"offset_a":2,"offset_b":-5,"hour_a":15}'const res = await fetch("https://api.kit.forhosting.com/travel/timezone-offset-diff", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"offset_a": 2,
"offset_b": -5,
"hour_a": 15
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/travel/timezone-offset-diff",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"offset_a": 2,
"offset_b": -5,
"hour_a": 15
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/travel/timezone-offset-diff", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"offset_a":2,"offset_b":-5,"hour_a":15}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"offset_a":2,"offset_b":-5,"hour_a":15}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/travel/timezone-offset-diff", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"offset_a": 2,
"offset_b": -5,
"hour_a": 15
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "travel.timezone_offset_diff",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_abs_offset_hours | 14 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Los desfaces fuera de más o menos catorce horas se rechazan con invalid_input. La ruta es determinista—sin red, sin semillas aleatorias, sin Date de reloj de pared—así que el ejecutor gratuito del navegador y la API prepago devuelven el mismo JSON tras un redondeo fijo cada vez.
Desfaces UTC fijos frente a zonas horarias con nombre
Al limitar el contrato a números fijos en el intervalo cerrado de menos catorce a más catorce horas, la herramienta se mantiene predecible para hojas de cálculo, pruebas de API y notas de viaje que ya imprimen etiquetas UTC±.
Cómo llamar a la API y leer la respuesta
Envíe un cuerpo JSON con los números finitos obligatorios offset_a y offset_b (los alias incluyen a, from_offset, offset_from, utc_a para el primero, y b, to_offset, offset_to, utc_b para el segundo), cada uno entre menos catorce y más catorce inclusive, más el entero obligatorio hour_a de cero a veintitrés para la hora local en A. El opcional minute_a vale cero por defecto y debe ser un entero de cero a cincuenta y nueve cuando esté presente. En caso de éxito la respuesta repite los desfaces redondeados y el reloj de entrada, publica offset_a_label y offset_b_label como cadenas cortas UTC±, fija hour_diff a offset_b menos offset_a, abs_diff_hours al valor absoluto de esa diferencia, hour_b y minute_b y time_b para el reloj mapeado en B, day_offset por cuántas medianoches se cruzaron al sumar la diferencia, day_note y direction como resúmenes breves, message como resultado de una línea, y steps como un arreglo ordenado de líneas de sustitución. La validación fallida—campos ausentes, números no finitos, hora o minuto no enteros, hora fuera de cero a veintitrés, minuto fuera de cero a cincuenta y nueve, o cualquier desfase cuyo valor absoluto supere catorce horas—devuelve invalid_input y nunca se cobra. El precio es un $0.002 fijo por petición correcta con unidad item y precio unitario marginal cero.
Consejos prácticos, límites y búsquedas relacionadas
Mantenga los desfaces dentro de la ventana publicada de más o menos catorce horas; valores como quince o menos catorce coma uno se rechazan para que los llamadores no inventen desfaces civiles imposibles. Prefiera horas fraccionarias para zonas de media hora y tres cuartos de hora—cinco coma cinco para la India, cinco coma siete cinco para Nepal, nueve coma cinco para partes de Australia—en lugar de colar minutos en un segundo campo que no existe para el desfase en sí. Esta página atiende a quien busca diferencia de desfase horario, horas de desfase UTC entre dos lugares u hora local dados dos desfaces fijos; no es una calculadora de duración de vuelo, ni un asesor de horario de verano, ni un convertidor de zonas por nombre de ciudad. Prefiera esta capacidad cuando ambos extremos ya publican etiquetas UTC± fijas; si solo tiene nombres de ciudad, resuelva primero los desfaces o use una herramienta de zona con horario de verano. Al mapear un reloj local, recuerde que la diferencia con signo es siempre B menos A: si A es UTC más dos y B es UTC menos cinco, hour_diff es menos siete, así que las quince treinta en A se convierten en las ocho treinta el mismo día de calendario en B. Cruzar la medianoche fija day_offset en más uno o menos uno y la cadena day_note explica de qué lado de la medianoche cae B respecto a A. Empareje ejemplos al enseñar: el mismo desfase deja el reloj sin cambios; un viaje hacia el oeste de horas enteras resta horas; hacia el este suma horas; un desfase de media hora produce un desplazamiento de treinta minutos; un desfase fuera de rango demuestra la ruta dura de invalid_input. Las tareas fallidas que devuelven invalid_input no consumen saldo prepago, lo que mantiene baratos los scripts exploratorios cuando los aprendices envían a propósito desfase quince. Las comprobaciones de ida y vuelta son fáciles: recalcule a mano offset_b menos offset_a y confirme que iguala hour_diff, luego sume esas horas a time_a y confirme que time_b y day_offset coinciden tras el wrap de veinticuatro horas.
Casos de integración
Pruebas unitarias de aritmética de desfase
Los servicios que almacenan desfaces fijos generan pares dorados de hour_diff y time_b, más casos deliberados de frontera ±14 y invalid_input fuera de rango.
Preguntas técnicas
¿Cómo se define hour_diff?
hour_diff es siempre offset_b menos offset_a. Positivo significa que el reloj de B va por delante del de A en el mismo instante; negativo significa que B va por detrás.