Différence d'heures entre décalages UTC
Ce calculateur détermine la différence signée, en heures, entre deux chaînes de décalage UTC fixe.
Lancer gratuitement
Saisissez un premier puis un second décalage : il soustrait le premier du second sans consulter d’horloge, de lieu, de règle d’heure d’été ni de base de fuseaux horaires. Le résultat est positif si le second est en avance, négatif s’il est en retard et nul si les deux représentent le même écart par rapport à UTC. La différence exacte en minutes est aussi fournie pour vos calculs ultérieurs.
Comprendre le sens du résultat signé
Le calcul suit un ordre explicite : second décalage moins premier décalage. Si A vaut UTC+02:00 et B UTC+05:30, le résultat est +3.5 heures, car B se trouve trois heures et trente minutes plus à l’est d’UTC que A. L’inversion des entrées donne -3.5 heures. Ce signe permet à un programme d’ajuster une heure affichée du premier décalage vers le second, mais cette capacité n’accepte ni ne transforme aucune date ou heure : elle indique uniquement l’écart entre les décalages. Un résultat nul signifie que les deux chaînes représentent le même déplacement UTC, même si l’une utilise UTC et l’autre Z. La réponse contient les deux entrées normalisées, une valeur décimale en heures et une valeur entière en minutes. Les minutes lèvent toute ambiguïté pour les demi-heures, quarts d’heure et autres composantes valides, tandis que la valeur horaire répond directement au besoin le plus courant.
Saisir des décalages UTC fixes au format précis
Utilisez UTC suivi d’un signe, de deux chiffres pour l’heure, de deux-points et de deux chiffres pour les minutes, par exemple UTC+05:30 ou UTC-04:00. Vous pouvez omettre le préfixe UTC et envoyer +05:30 ou -04:00. UTC et Z représentent zéro. Les espaces autour de la chaîne sont ignorés, mais ceux qui se trouvent à l’intérieur sont refusés afin qu’une saisie incorrecte ne soit jamais réinterprétée en silence. Les heures doivent rester dans la plage civile des décalages fixes, de moins quatorze à plus quatorze heures. Aux deux limites de quatorze heures, les minutes doivent être 00 ; ailleurs, elles vont de 00 à 59. Le signe et les deux-points obligatoires rendent la saisie vérifiable et évitent de confondre +530 avec +05:30. Les valeurs renvoyées sont normalisées au format UTC±HH:MM. Toute valeur invalide produit une erreur qui désigne le champ à corriger au lieu de fournir un résultat supposé.
Connaître les limites d’un décalage fixe
Un décalage UTC fixe est une distance numérique, pas un fuseau horaire géographique. Cette distinction compte, car un lieu peut changer de décalage selon l’heure d’été, une décision publique ou une règle historique. Une ville peut ainsi adopter un décalage en hiver et un autre en été, alors qu’une simple chaîne ne contient ni lieu ni date permettant de choisir la bonne règle. Cette capacité n’effectue donc aucune recherche de fuseau et ne prétend pas donner l’heure locale actuelle d’un endroit nommé. Ce périmètre étroit garantit un résultat déterministe : des chaînes identiques donnent toujours la même sortie, quels que soient le lieu et l’instant d’exécution. Utilisez-la pour valider une configuration, comparer des décalages déjà choisis, préparer un calcul de planning ou tester une intégration. Si vous partez de zones nommées comme Europe/London ou America/New_York, résolvez-les d’abord pour l’instant concerné, puis transmettez ici les décalages fixes obtenus.
Cas d’usage
Comparer les décalages de services configurés
Vérifiez l’écart horaire signé entre deux systèmes dont les décalages UTC fixes sont connus.
Contrôler un calcul de planning
Obtenez l’ajustement à appliquer pour passer une heure affichée du premier décalage au second.
Tester des intégrations de décalage
Employez les valeurs normalisées et les minutes exactes comme données stables pour API, formulaires et pipelines.
Questions fréquentes
Comment le signe est-il choisi ?
Le calculateur soustrait offset_a de offset_b. Un résultat positif indique que le second est en avance ; un résultat négatif, qu’il est en retard.
L’heure d’été est-elle prise en compte ?
Non. Seuls des décalages numériques fixes sont comparés, sans date, lieu ni règle de fuseau horaire.
Quels formats sont acceptés ?
Utilisez UTC±HH:MM ou ±HH:MM. UTC et Z sont également acceptés pour un décalage nul.
Les demi-heures et quarts d’heure sont-ils admis ?
Oui. Toute composante de minutes comprise entre 00 et 59 est admise dans la plage globale de ±14:00.
Pourquoi difference_minutes est-il renvoyé ?
Les minutes entières conservent le calcul exact et facilitent les opérations lorsque l’écart en heures est fractionnaire.
Quel est le prix d’une requête API ?
Chaque requête API coûte $0.002 ; la version pour navigateur s’exécute localement sans consulter de service externe.
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/offset-difference-hours \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"offset_a":"UTC+05:30","offset_b":"UTC-04:00"}'const res = await fetch("https://api.kit.forhosting.com/date/offset-difference-hours", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"offset_a": "UTC+05:30",
"offset_b": "UTC-04:00"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/offset-difference-hours",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"offset_a": "UTC+05:30",
"offset_b": "UTC-04:00"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/offset-difference-hours", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"offset_a":"UTC+05:30","offset_b":"UTC-04:00"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"offset_a":"UTC+05:30","offset_b":"UTC-04:00"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/offset-difference-hours", 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
{
"offset_a": "UTC+05:30",
"offset_b": "UTC-04:00"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.offset_difference_hours",
"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.
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. |