Calculateur de congruence de Zeller
Le 25 juillet 2026 est un samedi : la congruence de Zeller additionne 25, 20, 26, 6, 5 et −40 pour obtenir 42, dont le reste par 7 vaut 0, le code du samedi. Chaque étape est affichée pour refaire le calcul à la main. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Date
- 2026-07-25
- Année
- 2 026
- Mois
- 7
- Jour
- 25
- Jour de la semaine
- 6
Un calculateur de la congruence de Zeller transforme une seule date calendaire grégorienne ISO en nom du jour de la semaine en exécutant la formule classique d'arithmétique modulaire et en montrant chaque terme intermédiaire. Saisissez une date au format YYYY-MM-DD ; l'outil valide que le jour existe sur le calendrier — y compris les règles de février bissextile —, applique le décalage de mois de Zeller pour janvier et février, construit les variables de siècle et d'année-dans-le-siècle K et J, évalue les termes de plancher, réduit la somme modulo sept et mappe h vers les noms de samedi à vendredi plus les numéros de jour de semaine ISO. Les étudiants qui apprennent les algorithmes de calendrier, les enseignants qui préparent des exemples résolus et les développeurs qui écrivent des tests unitaires ont besoin du même chemin transparent plutôt que d'une bibliothèque Date boîte noire.
Ce que calcule la congruence de Zeller et pourquoi les étapes comptent
La congruence de Zeller est une formule modulaire fermée qui mappe un triple de calendrier grégorien — année, mois et jour du mois — sur un indice de jour de la semaine sans consulter une table de calendrier. Dans la forme grégorienne commune utilisée ici, le jour du mois est q, le mois est renuméroté de sorte que mars vaut trois et février quatorze de l'année précédente, K est l'année dans le siècle et J est le siècle de base zéro, plancher de l'année sur cent.
La formule est h égal à la somme de q, du plancher de treize fois m plus un sur cinq, de K, du plancher de K sur quatre, du plancher de J sur quatre, et moins deux fois J, le tout modulo sept. Le h résultant utilise la convention d'origine samedi : zéro signifie samedi, un dimanche, deux lundi, et ainsi de suite jusqu'à six pour vendredi.
Cette convention n'est pas la même que les numéros de jour de semaine ISO-8601, aussi cet outil convertit aussi h en lundi-égal-à-un jusqu'à dimanche-égal-à-sept et en un indice d'origine dimanche de zéro à six pour les appelants qui ont besoin de ces codages. Montrer chaque terme de plancher et la somme brute avant le modulo est le point pédagogique : un apprenant peut recalculer ⌊13(m+1)/5⌋ à la main et affirmer que les étapes publiées correspondent. Fiches de classe, manuels d'algorithmes et drills d'entretien de code reposent sur cette transparence.
Le chemin de contrôle rejette aussi les dates qui ne sont pas de vrais jours de calendrier, car la formule de Zeller suppose un jour grégorien authentique ; lui donner 2023-02-29 inventerait un jour de la semaine pour un jour qui n'a jamais existé.
Conseils pratiques, limites et recherches liées
Préférez envoyer une chaîne ISO stricte plutôt qu'une prose libre ; l'analyseur n'accepte pas les noms de mois, les barres obliques ni l'ordre européen jour-d'abord. En enseignant, associez une date de mi-année telle que 2026-07-25 à un exemple de janvier pour que les étudiants voient le décrément d'année et le décalage mois-plus-douze dans les étapes. Gardez les années dans la bande publiée de un à neuf mille neuf cent quatre-vingt-dix-neuf pour que le calcul de siècle reste simple et cohérent avec les plafonds des dates sœurs.
Cette page vise les personnes qui cherchent un calculateur de congruence de Zeller, un algorithme de jour de la semaine étape par étape ou une formule modulaire de calendrier en ligne ; ce n'est pas un convertisseur historique complet des transitions julien-grégorien, ni un compteur de jours ouvrables, ni un outil boîte noire de jour de la semaine qui cache l'arithmétique.
Préférez un calculateur plus simple de jour de la semaine quand vous n'avez besoin que du nom sans intermédiaires de Zeller ; préférez cette capacité quand l'objectif pédagogique est la congruence elle-même.
Cas d’usage
Exemples résolus d'arithmétique modulaire en classe
Les enseignants projettent une date, parcourent chaque terme de plancher de Zeller dans le tableau steps et laissent les élèves vérifier h et le nom du jour avant le devoir.
Documentation d'algorithmes et préparation d'entretiens
Les candidats comparent leur congruence écrite à la main aux q, m, K, J, somme brute et h publiés sans s'appuyer sur les bibliothèques Date du langage.
Questions fréquentes
Qu'est-ce que la congruence de Zeller ?
Une formule d'arithmétique modulaire qui calcule le jour de la semaine d'une date grégorienne à partir du jour, du mois renuméroté, de l'année-dans-le-siècle K et du siècle J, sans consulter une table de calendrier.
Que signifie h dans le résultat ?
h est l'indice de jour de la semaine de Zeller : 0 = samedi, 1 = dimanche, 2 = lundi, …, 6 = vendredi.
Pourquoi janvier devient-il le mois 13 ?
Zeller traite janvier et février comme les mois 13 et 14 de l'année précédente pour que le terme de mois de la formule reste continu de mars à février.
Que se passe-t-il pour 2023-02-29 ?
Ce jour n'est pas une date grégorienne valide (2023 n'est pas bissextile).
Le calculateur de congruence de Zeller est-il gratuit ?
L'outil navigateur est gratuit et s'exécute en local.
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/zeller-weekday \
-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/zeller-weekday", {
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/zeller-weekday",
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/zeller-weekday", 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/zeller-weekday", 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.zeller_weekday",
"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
year_min | 1 |
year_max | 9999 |
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
Chaînes invalides, mois impossibles et 29 février non bissextile renvoient une erreur invalid_input claire au lieu d'une mauvaise réponse silencieuse. Le chemin est une arithmétique entière déterministe pure — sans réseau, sans graines aléatoires, sans objets Date d'horloge murale —, de sorte que l'exécuteur gratuit du navigateur et l'API prépayée renvoient le même JSON à chaque appel.
Comment appeler l'API et ce qui revient
Les années doivent être entre un et neuf mille neuf cent quatre-vingt-dix-neuf inclus. Le jour doit exister dans ce mois sous les règles bissextiles grégoriennes proléptiques — février a vingt-neuf jours seulement lorsque l'année est divisible par quatre, sauf les années séculaires non divisibles par quatre cents. Envoyez un corps JSON avec un champ chaîne obligatoire : date (alias iso_date, value et day) exactement au format YYYY-MM-DD avec année à quatre chiffres et mois et jour à deux chiffres. En cas de succès, la réponse renvoie la date canonique, l'année, le mois et le jour, fixe day_name et day_name_short aux libellés anglais du jour de la semaine, fixe iso_weekday, day_of_week et day_number au code ISO de lundi-égal-à-un jusqu'à dimanche-égal-à-sept, fixe weekday_0_sunday à l'indice d'origine dimanche, et publie les intermédiaires bruts de Zeller zeller_h, zeller_q, zeller_m, zeller_Y, zeller_K et zeller_J avec formula, h_meaning, leap_year, message et un tableau ordonné steps qui parcourt le décalage janvier–février, chaque terme de plancher, la somme brute et le mappage final des noms. Une validation échouée — champs manquants, valeurs non chaîne, format incorrect, années hors plage, mois ou jours impossibles — renvoie invalid_input et n'est jamais facturée. Le prix est un forfait $0.002 par requête réussie avec unité item et prix unitaire marginal zéro.
Conseils pratiques, limites et recherches liées
Recoupez un samedi ou un lundi connu avec un calendrier imprimé, puis confirmez que zeller_h et iso_weekday s'accordent avec les mappages documentés. Les tâches échouées qui renvoient invalid_input ne consomment pas le solde prépayé, ce qui maintient les scripts exploratoires bon marché lorsque les apprenants essaient délibérément 2023-02-29.
Cas d'intégration
Tests unitaires d'implémentations de calendrier
Générez des intermédiaires de Zeller connus et des rejets de dates calendaires invalides comme fixtures déterministes pour les valeurs attendues de katas de code.