ForHosting KIT · Utilidades de desarrollo

Calculadora de tiempo superpuesto entre dos intervalos

Esta calculadora mide exactamente cuánto tiempo comparten dos intervalos de fecha y hora explícitos.

● BetaGratis · en su navegador
Úselo desde WebAPIEmailTelegramApp pronto

Introduzca el inicio y el final de cada intervalo en formato ISO 8601, con Z o un desplazamiento UTC numérico. El cálculo sitúa todos los límites en una misma línea temporal UTC, selecciona el inicio posterior y el final anterior, y devuelve la duración común en milisegundos, segundos, minutos y horas. Los intervalos separados o que solo se tocan producen cero, lo que facilita su uso en horarios, facturación, supervisión e informes.

Defina ambos intervalos con límites inequívocos

Introduzca cuatro valores: el inicio y el final del primer intervalo, seguidos del inicio y el final del segundo. Cada valor debe ser una fecha y hora ISO 8601 completa, con fecha de calendario, hora con segundos y Z o un desplazamiento explícito como +02:00 o -05:30. Exigir el desplazamiento impide que otro equipo interprete de forma distinta una hora local. Cada inicio debe ser anterior a su final. La calculadora trata los intervalos como rangos semiabiertos: incluye el inicio y usa el final como límite excluido. Así no se cuenta dos veces el mismo instante cuando se unen reservas, turnos o ventanas consecutivas. Admite de una a tres cifras decimales para los segundos y las normaliza a milisegundos. Valida directamente fechas y horas, por lo que valores imposibles generan un error de entrada. Use siempre los mismos cuatro campos, tanto si espera una coincidencia como si no.

Comprenda el cálculo determinista en UTC

Antes de comparar, el cálculo coloca los cuatro límites en una única línea temporal UTC. Un valor terminado en Z ya está en UTC. A uno con desplazamiento positivo se le resta dicho desplazamiento, mientras que a uno negativo se le suma. Por eso dos fechas escritas de forma diferente pueden representar el mismo instante. La superposición comienza en el más tardío de los dos inicios y termina en el más temprano de los dos finales. Si ese final es posterior al inicio calculado, la diferencia es la duración común; en caso contrario, el resultado es exactamente cero. La implementación usa aritmética del calendario gregoriano y milisegundos enteros, sin consultar reloj, configuración regional, base de zonas horarias, red, datos aleatorios ni Date de JavaScript. Las mismas entradas siempre producen el mismo resultado. La salida expresa una sola duración en milisegundos, segundos, minutos y horas para que usted elija la unidad adecuada.

Aplique el resultado con seguridad

Use esta duración cuando necesite comparar dos ventanas conocidas: un turno con una ausencia aprobada, el funcionamiento de un equipo con una franja tarifaria, una incidencia con el horario de servicio o una reserva con un bloque disponible. Un valor positivo indica cuánto tiempo comparten, no solo que existe una intersección. Cero significa que están separados o que uno termina justo cuando empieza el otro; en ambos casos no hay tiempo transcurrido común según la convención semiabierta. Para importes o cuotas, tome overlap_milliseconds u overlap_seconds como valor fuente y aplique después su propia regla de redondeo documentada. No redondee antes los límites salvo que su política lo exija. El servicio solo procesa desplazamientos explícitos, no nombres como America/New_York ni reglas de horario estacional. Convierta previamente las horas locales. Cada solicitud API cuesta $0.002; la versión del navegador permite comprobaciones interactivas locales.

Medir la cobertura de turnos

Calcule qué parte de un turno coincide con una ventana operativa atendida, remunerada o autorizada.

Asignar tiempo de incidencias

Mida la parte de una interrupción ocurrida dentro de un periodo contractual de soporte o servicio.

Comprobar conflictos de reservas

Cuantifique el tiempo común entre dos reservas en lugar de obtener únicamente una respuesta afirmativa o negativa.

¿Qué ocurre si los intervalos no se superponen?

Los cuatro campos de duración devuelven cero. También sucede cuando uno termina exactamente al comenzar el otro.

¿Admite desplazamientos UTC distintos?

Sí. Cada límite puede usar Z o su propio desplazamiento numérico, y todos se comparan en una línea temporal UTC común.

¿Se incluyen los extremos del intervalo?

Se usan intervalos semiabiertos: el inicio está incluido y el final excluido. Por ello, intervalos adyacentes comparten cero tiempo.

¿El cálculo utiliza la zona horaria del servidor?

No. Emplea aritmética gregoriana y de desplazamientos sin Date, base de zonas, reloj del equipo ni configuración regional.

¿Cuánto cuesta una solicitud API?

El precio es $0.002 por solicitud. La ejecución interactiva en el navegador no genera un cargo 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.

POSThttps://api.kit.forhosting.com/date/overlap-duration

¿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.

curl -X POST https://api.kit.forhosting.com/date/overlap-duration \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"first_start":"2026-07-25T09:00:00Z","first_end":"2026-07-25T12:30:00Z","second_start":"2026-07-25T11:15:00+00:00","second_end":"2026-07-25T14:00:00+00:00"}'
{
  "first_start": "2026-07-25T09:00:00Z",
  "first_end": "2026-07-25T12:30:00Z",
  "second_start": "2026-07-25T11:15:00+00:00",
  "second_end": "2026-07-25T14:00:00+00:00"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "date.overlap_duration",
  "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.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Ver la documentación completa del KIT →