ForHosting KIT · Outils pour développeurs

Calcul de la durée commune à deux intervalles

Ce calculateur mesure précisément la durée commune à deux intervalles explicites de date et d’heure.

● BetaGratuit · dans votre navigateur
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt

Indiquez le début et la fin de chacun au format ISO 8601, avec Z ou un décalage UTC numérique. Le calcul ramène toutes les bornes sur la même chronologie UTC, retient le début le plus tardif et la fin la plus précoce, puis renvoie la durée partagée en millisecondes, secondes, minutes et heures. Des intervalles séparés ou simplement contigus donnent zéro, ce qui simplifie la planification, la facturation, la supervision et les rapports.

Définissez deux intervalles aux bornes sans ambiguïté

Saisissez quatre valeurs : le début et la fin du premier intervalle, puis le début et la fin du second. Chaque valeur doit être une date-heure ISO 8601 complète comprenant une date civile, une heure avec secondes et soit Z, soit un décalage explicite comme +02:00 ou -05:30. L’obligation d’indiquer le décalage empêche qu’une heure locale soit interprétée différemment sur une autre machine. Chaque début doit précéder la fin correspondante. Le calculateur utilise des intervalles semi-ouverts : le début appartient à l’intervalle, tandis que la fin constitue une borne exclue. Cette convention évite de compter deux fois le même instant lorsque des réservations, équipes ou fenêtres successives se rejoignent. Une à trois décimales de seconde sont acceptées et normalisées en millisecondes. Les dates et heures sont validées directement : une valeur impossible provoque donc une erreur de saisie. Utilisez toujours les quatre mêmes champs, qu’un chevauchement soit attendu ou non.

Comprenez le calcul UTC déterministe

Le calcul place les quatre bornes sur une seule chronologie UTC avant toute comparaison. Une valeur terminée par Z est déjà en UTC. Un décalage positif est retranché, tandis qu’un décalage négatif est ajouté. Deux écritures différentes peuvent ainsi désigner exactement le même instant. Le chevauchement commence au plus tardif des deux débuts et se termine à la plus précoce des deux fins. Si cette fin suit le début calculé, leur différence est la durée commune ; sinon, le résultat vaut exactement zéro. L’implémentation repose sur l’arithmétique du calendrier grégorien et sur des millisecondes entières. Elle ne consulte ni horloge, ni paramètres régionaux, ni base de fuseaux horaires, ni réseau, ni hasard, ni objet Date de JavaScript. Des entrées identiques produisent donc toujours le même résultat. La sortie exprime une durée unique en millisecondes, secondes, minutes et heures afin que vous choisissiez l’unité adaptée à votre système.

Exploitez le résultat de manière sûre

Utilisez cette durée dès que deux fenêtres connues doivent être comparées : un poste face à un congé approuvé, le fonctionnement d’un équipement face à une plage tarifaire, un incident face aux heures de service ou une réservation face à une disponibilité. Une valeur positive indique la quantité de temps partagée, et pas seulement l’existence d’une intersection. Zéro signifie que les intervalles sont séparés ou que l’un finit exactement quand l’autre commence ; dans les deux cas, aucun temps écoulé n’est commun selon la convention semi-ouverte. Pour un montant ou un quota, prenez overlap_milliseconds ou overlap_seconds comme valeur source, puis appliquez votre règle d’arrondi documentée. N’arrondissez pas les bornes au préalable sauf exigence métier. Le service accepte uniquement des décalages explicites, pas des noms comme America/New_York, et ne déduit aucune règle saisonnière. Convertissez d’abord les heures locales. Chaque appel API coûte $0.002 ; le navigateur permet aussi un contrôle interactif local.

Mesurer la couverture d’un poste

Calculez la part d’un poste comprise dans une fenêtre d’exploitation assurée, rémunérée ou approuvée.

Affecter la durée d’un incident

Mesurez la portion d’une panne survenue pendant une période contractuelle d’assistance ou de service.

Contrôler les conflits de réservation

Quantifiez le temps commun à deux réservations au lieu d’obtenir une simple réponse positive ou négative.

Que se passe-t-il si les intervalles ne se chevauchent pas ?

Les quatre champs de durée valent zéro. Il en va de même si l’un se termine exactement lorsque l’autre commence.

Des décalages UTC différents sont-ils acceptés ?

Oui. Chaque borne peut utiliser Z ou son propre décalage numérique ; toutes sont comparées sur une chronologie UTC commune.

Les extrémités des intervalles sont-elles incluses ?

Le calcul utilise des intervalles semi-ouverts : le début est inclus et la fin exclue. Deux intervalles adjacents ont donc une durée commune nulle.

Le calcul dépend-il du fuseau horaire du serveur ?

Non. Il emploie une arithmétique grégorienne et des décalages, sans Date, base de fuseaux, horloge ni paramètres régionaux.

Quel est le prix d’un appel API ?

Le tarif est de $0.002 par appel. L’exécution interactive dans le navigateur n’entraîne aucun coût API.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

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

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

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"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Consulter la documentation complète du KIT →