Soustraire deux durées HMS
Soustrayez une durée en heures, minutes et secondes d’une autre sans convertir les valeurs manuellement.
Lancer gratuitement
Saisissez deux durées positives ou nulles au format HH:MM:SS : le calculateur retire la seconde de la première, effectue les retenues nécessaires entre secondes et minutes, puis fournit un résultat signé exact. Les heures ne sont pas limitées à une horloge de 24 heures. L’outil convient donc aux projets, médias, entraînements, cycles de machine et autres longues durées. Le calcul dépend exclusivement des deux valeurs que vous fournissez.
Saisissez des durées écoulées, pas des heures de la journée
Indiquez en premier la durée de départ et en second celle qui doit être retirée. Chaque saisie respecte HH:MM:SS, avec deux chiffres pour les minutes et les secondes. Les heures peuvent comporter entre un et six chiffres : 125:30:00 est donc valide, même si 125 ne correspond pas à une heure d’horloge. Les minutes et secondes doivent rester comprises entre 00 et 59, car le calculateur attend des valeurs normalisées. Utilisez 00 pour une unité vide, par exemple 7:00:09 pour sept heures et neuf secondes. Les valeurs saisies sont positives ou nulles ; le signe appartient à la différence calculée et non aux durées sources. Cette règle évite les expressions ambiguës comportant deux intervalles négatifs. L’ordre mathématique est strictement respecté : première durée moins seconde durée. Si elles sont égales, le résultat est 00:00:00 avec un signe nul. Les espaces extérieurs sont ignorés, mais les mots, secondes décimales, fragments de date et suffixes AM ou PM sont refusés afin que toute valeur acceptée ait un sens unique.
Comprenez les retenues et les résultats négatifs
La soustraction HMS suit la méthode de retenue utilisée sur papier. Si les secondes disponibles sont inférieures aux secondes à retirer, une minute devient soixante secondes supplémentaires. Une fois cette colonne résolue, si les minutes disponibles sont insuffisantes, une heure devient soixante minutes supplémentaires. La réponse précise si chacune de ces retenues a eu lieu, ce qui facilite l’enseignement, l’audit ou l’affichage d’une explication. Lorsque la seconde durée dépasse la première, le calculateur compare leurs longueurs totales, soustrait la plus petite valeur absolue de la plus grande selon les mêmes règles, puis place un signe moins devant la différence normalisée. Il ne produit jamais de composantes difficiles à interpréter, comme des minutes négatives ou 75 secondes. Une différence négative apparaît par exemple sous la forme -02:04:09. Le champ numérique du signe vaut -1, 0 ou 1, tandis que total_seconds conserve la différence signée pour les logiciels qui doivent poursuivre les calculs.
Exploitez une sortie normalisée et fiable
Le résultat contient le texte HMS normalisé, le total signé en secondes, le signe et les composantes absolues distinctes des heures, minutes et secondes. Cette combinaison permet un affichage lisible et des traitements ultérieurs sans analyser une explication rédigée. Puisqu’il s’agit de durées, les heures ne reviennent pas à zéro après 24 : 49:10:00 signifie quarante-neuf heures et dix minutes écoulées. Le calcul repose uniquement sur une arithmétique entière bornée. Il ne consulte ni date actuelle, ni fuseau horaire, ni heure d’été, ni paramètres régionaux, ni service réseau, ni modèle de langage. Des entrées identiques donnent donc toujours la même sortie. Cet outil convient aux scripts de compilation, contrôles de feuilles de temps, jeux de tests, traitements multimédias et rapports reproductibles. Vérifiez le signe avant d’interpréter le sens du résultat : les composantes restent toujours positives ou nulles. L’utilisation dans le navigateur est gratuite et chaque requête API automatisée coûte $0.002.
Cas d’usage
Comparer des durées de médias
Retirez la durée du montage de celle de l’original et mesurez exactement le temps ajouté ou supprimé.
Rapprocher le temps de travail
Calculez l’écart entre deux durées cumulées, même lorsque l’un des totaux dépasse 24 heures.
Contrôler le minutage d’un événement
Comparez les durées prévues et mesurées en conservant les secondes et le détail des retenues.
Questions fréquentes
Combien coûte une requête API ?
Chaque requête API coûte $0.002. Le calculateur du navigateur est gratuit.
Le résultat peut-il être négatif ?
Oui. Si la seconde durée est supérieure, le résultat normalisé commence par un signe moins et le champ du signe vaut -1.
Les heures peuvent-elles dépasser 23 ?
Oui. Ce sont des durées écoulées et non des heures d’horloge ; elles peuvent donc aller de 0 à 999999.
Pourquoi les minutes et secondes doivent-elles rester sous 60 ?
Les entrées doivent déjà employer une notation HMS normalisée. Les retenues sont appliquées pendant la soustraction et la sortie reste normalisée.
Les dates ou l’heure d’été sont-elles prises en compte ?
Non. L’outil soustrait seulement deux durées abstraites et n’utilise jamais de date, fuseau, changement saisonnier ou heure actuelle.
Pour les développeurs — accès 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.
Endpoint
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é.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/date/hms-subtract \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"first_duration":"12:05:10","second_duration":"03:47:55"}'const res = await fetch("https://api.kit.forhosting.com/date/hms-subtract", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"first_duration": "12:05:10",
"second_duration": "03:47:55"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/hms-subtract",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"first_duration": "12:05:10",
"second_duration": "03:47:55"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/hms-subtract", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"first_duration":"12:05:10","second_duration":"03:47:55"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"first_duration":"12:05:10","second_duration":"03:47:55"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/hms-subtract", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"first_duration": "12:05:10",
"second_duration": "03:47:55"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.hms_subtract",
"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.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_hours | 999999 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |