Écart en jours entre calendriers julien et grégorien
Ce calculateur renvoie l’écart annuel en jours entre les calendriers julien et grégorien proleptiques pour une date ISO explicite.
Lancer gratuitement
Tout se passe dans votre navigateur : gratuit, sans envoi de vos données.
Il valide l’entrée YYYY-MM-DD complète, en extrait l’année et applique la différence de jours bissextiles accumulée par les deux systèmes. Le résultat précise si le calendrier grégorien est en avance, en retard ou aligné sur le calendrier julien. Le calcul repose uniquement sur une arithmétique entière bornée : il reste donc reproductible dans une API ou un navigateur, sans fuseau horaire, réseau ni horloge système.
Comprendre l’écart en jours
Les calendriers julien et grégorien structurent les années ordinaires de façon similaire, mais n’appliquent pas la même règle aux années séculaires. Dans le calendrier julien, toute année divisible par quatre est bissextile. Le système grégorien supprime le jour supplémentaire des années séculaires, sauf si l’année est également divisible par quatre cents. Ces jours retranchés s’accumulent et créent un décalage entre les calendriers. Le calculateur indique ce décalage cumulé pour l’année de votre date ISO. Un résultat positif signifie que le calendrier grégorien a ce nombre de jours d’avance sur le calendrier julien lorsque des libellés identiques d’année, de mois et de jour sont comparés selon la convention annuelle. Un résultat négatif indique un retard, tandis que zéro signifie qu’aucun écart annuel ne s’est accumulé. Il s’agit d’un calcul d’écart et non d’une conversion : la date fournie n’est pas remplacée par sa date civile correspondante dans l’autre calendrier. Utilisez ce résultat pour connaître l’écart conventionnel et un convertisseur lorsque vous devez transformer l’année, le mois et le jour.
Un calcul entièrement déterministe
Saisissez une seule date ISO grégorienne au format YYYY-MM-DD, avec les zéros initiaux. Avant d’utiliser l’année, le calculateur contrôle le mois, le nombre de jours de ce mois et la règle grégorienne des années bissextiles. Il calcule ensuite l’écart par divisions entières : les jours bissextiles séculaires juliens écoulés sont comparés à ceux que conserve le cycle grégorien de quatre cents ans. Aucun objet Date de JavaScript n’est créé. Cette précaution empêche l’analyse d’hériter du comportement de l’hôte, des règles de fuseau horaire ou de limites de représentation sans rapport avec l’arithmétique calendaire. Une entrée identique produit le même JSON en UTC, dans un autre fuseau, dans un navigateur ou dans un processus en périphérie. Le calcul est proleptique : les règles mathématiques sont étendues uniformément aux années antérieures à l’adoption historique du calendrier grégorien. Les années de l’ère commune à quatre chiffres, de 0001 à 9999, sont acceptées ; l’année 0000, les textes incorrects et les dates impossibles, comme un 29 février non bissextile, sont refusés.
Choisir la bonne lecture historique
L’histoire des calendriers soulève deux questions distinctes, souvent confondues. La première porte sur la différence mathématique entre les règles julienne et grégorienne ; la seconde cherche quel calendrier civil était employé en un lieu et un jour précis. Cette capacité répond uniquement à la première. Elle ne modélise ni les dates nationales d’adoption, ni les jours civils supprimés, ni les conventions religieuses, ni les incertitudes archivistiques. Sa convention annuelle fournit aussi volontairement une seule valeur pour toute l’année saisie. Lors d’une année séculaire grégorienne non divisible par quatre cents, l’écart exact entre dates change après le désaccord des calendriers sur le 29 février. La conversion d’une date précise de janvier ou février peut donc différer d’un jour de la valeur annuelle. Ce n’est pas une indétermination, mais une autre question. Utilisez le résultat pour des tableaux, des libellés explicatifs, des règles de validation et des traitements définissant explicitement un écart annuel. Pour la généalogie ou la chronologie juridique, ajoutez la juridiction historique et une règle de conversion propre à la date avant d’interpréter un événement.
Cas d’usage
Annoter des jeux de données historiques
Ajoutez un écart annuel julien–grégorien reproductible aux enregistrements contenant déjà des dates ISO explicites.
Créer des tables de référence calendaire
Produisez des écarts cohérents au fil des siècles sans dépendre des bibliothèques de dates du système ni du fuseau horaire.
Contrôler des règles chronologiques
Vérifiez que le logiciel ou la documentation applique l’écart prévu avant toute conversion propre à une date.
Questions fréquentes
Que signifie un écart positif en jours ?
Le calendrier grégorien a ce nombre de jours d’avance sur le calendrier julien selon la convention annuelle.
Cet outil convertit-il ma date dans l’autre calendrier ?
Non. Il renvoie l’écart associé à l’année et conserve la date ISO fournie sans la modifier.
Pourquoi fournir une date complète si seule l’année est utilisée ?
Une date complète explicite le contrat d’entrée et permet de refuser les dates ISO mal formées ou impossibles avant d’utiliser l’année.
Le calcul tient-il compte de l’adoption du calendrier grégorien par chaque pays ?
Non. Il applique des règles mathématiques proleptiques sans déduire de juridiction ni de politique historique d’adoption.
Janvier et février d’une année séculaire exigent-ils un traitement spécial ?
Oui pour une conversion exacte. Cette capacité renvoie volontairement une valeur annuelle ; une conversion précise peut varier d’un jour avant le désaccord sur le jour bissextile.
Quel est le prix d’une requête API ?
Chaque requête API coûte $0.002. Le calcul dans le navigateur emploie la même logique déterministe.
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/julian-gregorian-offset \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2026-07-25"}'const res = await fetch("https://api.kit.forhosting.com/date/julian-gregorian-offset", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2026-07-25"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/julian-gregorian-offset",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2026-07-25"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/julian-gregorian-offset", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2026-07-25"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2026-07-25"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/julian-gregorian-offset", 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
{
"date": "2026-07-25"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.julian_gregorian_offset",
"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. |