Formateur de décalage GMT en libellé lisible
Le formateur de libellés de décalage GMT convertit une valeur signée, exprimée en minutes entières, en texte français lisible sans consulter l’heure, la position, une base de fuseaux horaires ou les règles saisonnières.
Lancer gratuitement
Si vous indiquez 120, vous obtenez un libellé stable équivalant à GMT plus deux. Les décalages comprenant une fraction d’heure conservent leurs minutes, les valeurs négatives emploient moins et zéro devient GMT. Le résultat convient aux interfaces, rapports, textes accessibles, messages générés et traitements qui exigent une formulation prévisible à partir d’une valeur numérique.
Commencez par un décalage signé en minutes
Indiquez la différence par rapport à GMT sous la forme d’un seul nombre entier de minutes. Un nombre positif correspond à une heure en avance sur GMT, un nombre négatif à une heure en retard, et zéro désigne GMT lui-même. Ainsi, 120 signifie deux heures d’avance, tandis que -240 signifie quatre heures de retard. L’emploi des minutes rend le contrat sans ambiguïté et permet les décalages qui ne tombent pas sur une heure entière. La plage admise va de -840 à 840 minutes, soit de quatorze heures de retard à quatorze heures d’avance. Le formateur ne déduit rien d’une ville, d’un pays, d’une abréviation, d’un horodatage ou du réglage d’un appareil. Cette séparation est volontaire : les fuseaux géographiques évoluent avec la législation et les changements saisonniers, alors que cette capacité exprime uniquement la valeur numérique exacte fournie. Calculez ou validez donc les règles locales avant l’appel, puis transmettez la valeur signée définitive. Une entrée explicite garantit qu’une même valeur produit toujours le même libellé, quel que soit l’environnement.
Comprenez la construction du libellé
La valeur zéro renvoie simplement GMT. Pour toute autre valeur, le formateur choisit d’abord plus ou moins selon le signe, puis décompose la durée absolue en heures entières et minutes restantes. Lorsqu’il s’agit d’un nombre exact d’heures, le mot heures est omis afin de garder une forme compacte : 120 donne GMT plus deux et -60 donne GMT moins un. S’il reste des minutes, les unités rendent la structure explicite : 330 devient GMT plus cinq heures trente minutes, alors que 30 devient GMT plus trente minutes. Le singulier est employé pour exactement une heure ou une minute, et les nombres composés suivent l’usage naturel. L’objet renvoyé comprend le libellé lisible et la valeur initiale dans offset_minutes. Ce nombre associé au texte sert aussi bien aux personnes qu’aux logiciels : vous pouvez afficher le libellé, trier ou comparer avec le nombre, sans devoir analyser la phrase. Aucun paramètre régional, dictionnaire d’abréviations ou réglage caché ne modifie la procédure.
Utilisez un libellé stable sans prétendre nommer un fuseau
Un décalage GMT et un fuseau horaire nommé sont liés, mais ne sont pas interchangeables. Le décalage indique seulement l’écart d’une horloge par rapport à GMT ; il n’identifie pas une région et ne précise pas les changements saisonniers. Employez ce formateur lorsque votre source contient déjà un décalage fixe et qu’un texte est préférable à une notation compacte comme +05:30. Il convient aux libellés accessibles près d’un sélecteur, aux synthèses vocales, aux journaux d’audit, aux aperçus de configuration et aux réponses API normalisées. N’utilisez pas le résultat pour affirmer qu’une personne se trouve actuellement dans un fuseau donné, ni pour calculer l’heure d’été. L’algorithme n’effectue aucune requête réseau et ne lit ni horloge, ni paramètres régionaux, ni système, ni base de fuseaux. Il reste donc reproductible dans les builds, tests, documents mis en cache et navigateurs. L’automatisation par API coûte $0.002 par requête. Une valeur absente, fractionnaire, non numérique ou hors plage produit une erreur typée plutôt qu’une approximation ou un arrondi silencieux.
Cas d’usage
Libeller un sélecteur de décalages
Transformez des valeurs enregistrées en minutes en options lisibles pour un écran de réglages, sans entretenir une table de libellés distincte.
Créer des métadonnées horaires accessibles
Fournissez aux lecteurs d’écran ou aux sorties vocales une description claire, plutôt qu’une notation numérique chargée de signes.
Uniformiser rapports et exportations
Produisez des libellés GMT stables depuis des valeurs de configuration afin que les exportations répétées conservent exactement la même formulation.
Questions fréquentes
L’outil calcule-t-il le décalage d’une ville ou d’un fuseau ?
Non. Il met uniquement en forme la valeur signée en minutes que vous fournissez, sans consulter de données géographiques ou saisonnières.
Que renvoie une valeur égale à zéro ?
Zéro renvoie GMT, sans plus, moins, heures ni minutes.
Les décalages d’une demi-heure ou d’un quart d’heure sont-ils admis ?
Oui. Toute valeur entière en minutes située dans la plage admise peut conserver sa composante en minutes dans le libellé.
Les minutes fractionnaires sont-elles arrondies ?
Non. Elles sont refusées, car les arrondir modifierait le décalage fourni.
Quel est le prix d’une requête API ?
Chaque requête API coûte $0.002. Le formateur pur peut également s’exécuter directement dans le navigateur.
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/gmt-offset-label \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"minutes":330}'const res = await fetch("https://api.kit.forhosting.com/date/gmt-offset-label", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"minutes": 330
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/gmt-offset-label",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"minutes": 330
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/gmt-offset-label", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"minutes":330}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"minutes":330}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/gmt-offset-label", 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
{
"minutes": 330
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.gmt_offset_label",
"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. |