Secondes intercalaires UTC↔TAI
Trouvez l'écart entre le temps atomique et UTC à n'importe quelle date, ou affichez les secondes intercalaires qui l'expliquent : le 2 janvier 2017, TAI−UTC vaut 37 secondes. La table est intégrée à l'outil. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Mode de calcul
- Offset
- Date
- 2017-01-02
- Décalage TAI−UTC (secondes)
- 37
Outil gratuit et déterministe. Il liste les secondes intercalaires IERS intégrées et convertit les dates civiles UTC en décalage TAI-UTC sans le moindre accès réseau.
Comment ça fonctionne
Cette capacité liste les secondes intercalaires publiées par l'IERS et convertit une date civile UTC en décalage TAI-UTC, sans le moindre accès réseau. En mode « list », vous obtenez la table complète des sauts historiques ; en mode « offset », vous fournissez une date au format ISO-8601 et le calcul renvoie l'écart exact entre le Temps atomique international et le Temps universel coordonné à cet instant précis.
Avant d'intégrer cette fonction à vos flux de production ou à vos tests automatisés, consultez les exemples de référence qui illustrent aussi bien les cas de réussite que les chemins d'erreur.
Entrées et sorties
Les champs obligatoires du schéma doivent être présents et correctement typés, tandis que les champs facultatifs retombent sur des valeurs par défaut documentées. Les réponses de succès contiennent toujours les principaux champs de sortie, de sorte que vos liaisons d'interface restent stables dans le temps et n'aient jamais à gérer une absence imprévue. La validation suit un ordre fixe et reproductible, si bien que la même entrée produit toujours la même sortie et la même chaîne d'erreur, condition indispensable à la certification.
Nous vous recommandons de lire les exemples de référence, qui couvrent à la fois les chemins de réussite et les chemins d'erreur, avant de relier cette capacité à vos traitements.
Cas limites et contraintes
Les chaînes vides, les types erronés et les plages contradictoires sont rejetés très tôt, avant même qu'un quelconque calcul n'ait lieu. Les dates civiles dépourvues de fuseau horaire sont traitées comme des dates de calendrier et ne subissent aucune conversion implicite susceptible de fausser le décalage renvoyé. Les tables de secondes intercalaires voyagent intégrées à l'intérieur du dossier de la capacité ; par conséquent, aucun appel réseau n'est effectué à l'exécution et le résultat reste reproductible même entièrement hors ligne.
Ce comportement rend la fonction adaptée aux environnements isolés, aux chaînes d'intégration continue et aux contextes où la connectivité n'est pas garantie.
Cas d’usage
Travail quotidien
Obtenez une réponse fiable sans passer par un tableur.
Pédagogie
Des jeux d'essai stables et reproductibles pour vos démonstrations.
Questions fréquentes
Réseau ?
Aucun accès réseau ; tout est calculé sur l'appareil.
Est-ce stable ?
Des jeux de référence déterministes figent le contrat.
Que signifie TAI−UTC ?
C'est le nombre de secondes d'avance du Temps atomique international sur le Temps universel coordonné à une date donnée. L'écart ne change que lorsqu'une seconde intercalaire est ajoutée à UTC, d'où sa lecture dans la table.
Peut-on voir la liste des secondes intercalaires ?
Oui. Choisissez l'option liste pour afficher les secondes intercalaires de la table intégrée, éventuellement limitées à une période entre deux dates. Une période qui finit avant de commencer est refusée au lieu d'être devinée.
Faut-il indiquer une heure ou un fuseau horaire ?
Non. Saisissez seulement la date du calendrier. Une date sans fuseau est lue comme un simple jour en UTC, votre position ne change donc jamais l'écart obtenu.
Outils associés
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/leap-seconds \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"mode":"offset","date":"2017-01-02"}'const res = await fetch("https://api.kit.forhosting.com/date/leap-seconds", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"mode": "offset",
"date": "2017-01-02"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/leap-seconds",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"mode": "offset",
"date": "2017-01-02"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/leap-seconds", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"mode":"offset","date":"2017-01-02"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"mode":"offset","date":"2017-01-02"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/leap-seconds", 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
{
"mode": "offset",
"date": "2017-01-02"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.leap_seconds",
"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. |
Notes techniques
Comment ça fonctionne
Le calcul est entièrement déterministe et s'exécute gratuitement dans votre navigateur, avec la même fonction pure que l'API : le résultat affiché en ligne est donc identique, à l'octet près, à celui que facture le service. Les entrées sont validées avant toute opération arithmétique, si bien qu'un type erroné produit une erreur invalid_input claire plutôt qu'un résultat trompeur.
Entrées et sorties
Les valeurs intermédiaires très grandes qui dépassent la représentation IEEE-754 deviennent des erreurs de plage explicites plutôt que des valeurs nulles silencieuses, car une erreur déclarée vaut toujours mieux qu'une donnée corrompue passée inaperçue.
Cas limites et contraintes
Pensez à examiner les exemples de référence avant l'intégration : ils montrent précisément quelles entrées renvoient un résultat valide et lesquelles génèrent au contraire une erreur invalid_input, afin de vous épargner toute surprise en production.
Cas d'intégration
Automatisation
La même fonction pure dans le widget et dans l'API.
Questions techniques
Est-ce gratuit ?
Oui, palier A directement dans le navigateur.
Entrée invalide ?
Une erreur invalid_input avec un libellé explicite.
Auteur ?
samurai.