Horas laborales entre dos fechas y horas
Una incidencia abierta el viernes 24 de julio de 2026 a las 15:00 UTC y cerrada el lunes 27 a las 11:30 consumió 4,5 horas laborables (270 minutos). No cuentan el fin de semana ni las horas fuera de la franja diaria. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Fecha y hora de inicio
- 2026-07-24T15:00:00Z
- Fecha y hora de fin
- 2026-07-27T11:30:00Z
- Segundos laborables
- 16 200
- Minutos laborables
- 270
- Horas laborables
- 4,5
- Inicio de la jornada
- 09:00
Esta calculadora mide únicamente la parte de un intervalo explícito que coincide con un horario laboral diario UTC, de lunes a viernes. Admite fechas y horas ISO con zona, convierte ambos extremos a UTC mediante aritmética determinista y excluye sábados y domingos. Puede usar el horario predeterminado de 09:00 a 17:00 o indicar otro dentro del mismo día. La respuesta ofrece segundos exactos y totales prácticos en minutos y horas.
Defina con precisión el intervalo y el horario
Exigir la zona evita que una marca local signifique instantes distintos según el equipo. El inicio se incluye y el final se excluye, por lo que puede sumar intervalos consecutivos sin duplicar el límite. Ambos límites deben pertenecer al mismo día UTC y el cierre debe ser posterior a la apertura.
Los turnos nocturnos se rechazan para no atribuirles un día laborable ambiguo. Solo cuenta la intersección real: un intervalo de viernes puede aportar sus últimas horas, omitir el fin de semana y continuar el lunes. Los festivos no se infieren porque dependen del país, la región y la empresa.
Comprenda el cálculo UTC determinista
Cada desplazamiento se transforma en un instante UTC mediante aritmética entera sobre el calendario gregoriano. Después recorre el conjunto acotado de días UTC del intervalo. De lunes a viernes aplica una ventana candidata; sábados y domingos no aportan ninguna.
Para cada día hábil, intersecta el intervalo solicitado con la apertura y el cierre y suma los segundos positivos. Extremos iguales producen cero y un final anterior se rechaza.
Aplique el resultado a procesos operativos
Los equipos de soporte pueden medir el tiempo laboral consumido por un caso sin imputar noches o fines de semana a un objetivo interno. Operaciones puede comparar reconocimiento y resolución de incidentes con un reloj común aunque las fuentes utilicen desplazamientos distintos. Finanzas y servicios profesionales pueden convertir actividad con marcas temporales en totales revisables antes de aplicar sus reglas de facturación.
Conserve los extremos originales, el horario UTC elegido y los segundos devueltos: podrá reproducir el registro porque el cálculo no depende de la fecha actual, la zona del servidor ni un calendario externo. Si su política incluye festivos, fines de semana regionales, pausas, turnos rotativos, horario local con cambio estacional o jornadas nocturnas, aplíquela en otra capa. Este contrato ofrece una base UTC transparente, fácil de probar, sumar y explicar.
Qué puede hacer con ella
Medición de SLA de soporte
Cuente solo el tiempo del horario laboral entre la creación y la resolución de un caso.
Informes de duración de incidentes
Normalice eventos con desplazamiento a un horario UTC y excluya los fines de semana.
Totales de servicio auditables
Obtenga segundos laborales deterministas para facturación o cumplimiento sin reglas regionales ocultas.
Preguntas frecuentes
¿Qué días se excluyen?
Se excluyen sábado y domingo en UTC. No se incluyen festivos ni patrones regionales.
¿El horario sigue el cambio estacional?
No. La ventana es explícitamente UTC y no cambia con reglas de horario de verano.
¿Puedo definir un turno nocturno?
No. La apertura y el cierre deben estar en el mismo día UTC, con el cierre posterior.
¿Se cuenta la hora final?
No. El momento inicial cuenta y el final no, así que puede sumar intervalos seguidos, por ejemplo uno por turno o por día, sin contar dos veces el punto en que se unen.
¿Las fechas con hora necesitan zona horaria?
Sí. Cada una debe llevar la marca UTC o un desfase explícito. Una hora local sin zona puede significar momentos distintos en distintos equipos, así que la calculadora no adivina y lo pasa todo a UTC.
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/date/working-hours-between \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start_datetime":"2026-07-24T15:00:00Z","end_datetime":"2026-07-27T11:30:00Z"}'const res = await fetch("https://api.kit.forhosting.com/date/working-hours-between", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start_datetime": "2026-07-24T15:00:00Z",
"end_datetime": "2026-07-27T11:30:00Z"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/working-hours-between",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start_datetime": "2026-07-24T15:00:00Z",
"end_datetime": "2026-07-27T11:30:00Z"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/working-hours-between", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start_datetime":"2026-07-24T15:00:00Z","end_datetime":"2026-07-27T11:30:00Z"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start_datetime":"2026-07-24T15:00:00Z","end_datetime":"2026-07-27T11:30:00Z"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/working-hours-between", 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
{
"start_datetime": "2026-07-24T15:00:00Z",
"end_datetime": "2026-07-27T11:30:00Z"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.working_hours_between",
"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_span_days | 36600 |
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
Defina con precisión el intervalo y el horario
Envíe `start_datetime` y `end_datetime` como fechas y horas ISO completas con `Z` o un desplazamiento UTC numérico. El horario recurrente es de 09:00 a 17:00 UTC de forma predeterminada; puede modificarlo mediante `workday_start` y `workday_end` en formato `HH:MM` de 24 horas.
Comprenda el cálculo UTC determinista
La implementación no crea objetos `Date`, no consulta el reloj, la configuración regional ni servicios externos, y tampoco usa red o aleatoriedad. Así resuelve correctamente días iniciales y finales parciales y considera equivalentes las entradas con desplazamientos distintos que representan el mismo instante. `working_seconds` es un entero exacto; `working_minutes` y `working_hours` se derivan y se redondean a un máximo de seis decimales para estabilizar el JSON. La respuesta repite el horario efectivo y declara `timezone` como `UTC`, de modo que las premisas quedan visibles en una auditoría.
Aplique el resultado a procesos operativos
El navegador sirve para comprobaciones puntuales y la API cuesta $0.002 por solicitud correcta.
Preguntas técnicas
¿Cuánto cuesta?
La API cuesta $0.002 por solicitud correcta; el mismo cálculo puro puede ejecutarse en el navegador.
¿Pueden las fechas usar desplazamientos UTC?
Sí. Use `Z` o un desplazamiento explícito como `-04:00`; cada extremo se normaliza a UTC.