Années bissextiles dans un intervalle
Saisissez deux années et obtenez toutes les bissextiles entre elles, bornes comprises : de 2000 à 2024, il y en a 7, de 2000 jusqu'à 2024 inclus. Les années séculaires suivent la règle grégorienne : 1900 est écartée, 2000 compte. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Année de début
- 2 000
- Année de fin
- 2 024
- Étendue d'années
- 25
- Quantité
- 7
- Règle
- Gregorian: year%4==0 and (year%100!=0 or year%400==0)
Les années bissextiles ajoutent un jour supplémentaire — le 29 février — afin que le calendrier civil reste aligné sur l'année tropique. Selon le système grégorien utilisé aujourd'hui par la majeure partie du monde, une année est bissextile lorsqu'elle est divisible par quatre, sauf les années séculaires, qui doivent en outre être divisibles par quatre cents. Ainsi, 2000 est bissextile, 1900 ne l'est pas, et des années ordinaires comme 2024 et 2028 le sont. Cet outil prend une année de début et une année de fin inclusives, parcourt chaque année de l'intervalle avec un test de bissextile pur et déterministe, et renvoie à la fois le décompte et la liste ordonnée des années bissextiles. Lorsque l'année de début est supérieure à l'année de fin, la requête échoue avec une erreur de validation claire au lieu d'échanger silencieusement les bornes.
Comment les années bissextiles grégoriennes sont déterminées
La réforme grégorienne a affiné l'ancienne règle julienne selon laquelle une année sur quatre était bissextile. Selon les règles grégoriennes, une année Y est bissextile si et seulement si Y est divisible par quatre et, en outre, Y n'est pas divisible par cent ou Y est divisible par quatre cents. En forme compacte : bissextile lorsque Y modulo quatre est égal à zéro et (Y modulo cent n'est pas zéro ou Y modulo quatre cents est égal à zéro).
Les années séculaires qui échouent au test des quatre cents — 1700, 1800, 1900, 2100 — sont des années communes de seulement trois cent soixante-cinq jours, tandis que 1600 et 2000 restent bissextiles. Cette capacité applique la règle grégorienne proleptique de manière uniforme à chaque année entière de un à neuf mille neuf cent quatre-vingt-dix-neuf, en cohérence avec les autres outils de calendrier du catalogue KIT.
L'implémentation n'appelle jamais Date de JavaScript, ne lit jamais l'horloge système et n'accède jamais au réseau : elle fait le parse de deux années entières, rejette un intervalle inversé, puis parcourt l'intervalle inclusif en collectant chaque année qui satisfait le prédicat de bissextile.
Où les listes d'intervalles d'années bissextiles apparaissent dans le travail réel
Les problèmes scolaires et de concours demandent constamment combien d'années bissextiles tombent entre deux années ou quelles années d'un siècle incluent un vingt-neuf février ; un oracle fiable qui renvoie le décompte et la liste complète accélère la notation et la préparation des démonstrations. Les équipes produit et exploitation qui construisent des feuilles de route pluriannuelles, des cohortes de rétention ou des calendriers de facturation doivent savoir quand février compte vingt-neuf jours pour que les plannings, les SLA et les formules de comptage de jours restent exacts.
Les logiciels qui génèrent des fichiers ICS, des calendriers scolaires ou des périodes de paie sur de longs horizons bénéficient d'une fonction pure qui ne dépend jamais du fuseau horaire de l'hôte ni des particularités du constructeur Date. Si vous avez ensuite besoin d'ordinaux de jour de l'année, de comptages de week-ends entre deux dates ISO ou de nombres de jours juliens, traitez-les comme des intentions de recherche et des landings distinctes plutôt que de surcharger cette page d'intervalles d'années bissextiles.
Cas d’usage
Corrigés pour devoirs et concours
Générez la liste ordonnée et le décompte des années bissextiles entre deux années pour que enseignants et correcteurs automatiques partagent une même vérité grégorienne.
Calendriers de planification pluriannuelle et de facturation
Marquez chaque 29 février dans une feuille de route produit, une cohorte de rétention ou un horizon de facturation sans bogues de Date sensibles au fuseau horaire.
Questions fréquentes
Quelle règle d'année bissextile cet outil utilise-t-il ?
La règle grégorienne proleptique : une année est bissextile si elle est divisible par 4, sauf les années séculaires, qui doivent être divisibles par 400. Ainsi, 2000 est bissextile, 1900 ne l'est pas, et 2024 l'est.
L'intervalle d'années est-il inclusif ?
Un intervalle d'une seule année renvoie soit une année bissextile, soit une liste vide avec un décompte de zéro.
Utilise-t-il Date de JavaScript ?
Non. L'algorithme est une arithmétique entière pure sur le prédicat grégorien de bissextile. Pas de Date, pas de réseau, pas d'aléatoire.
Combien cela coûte-t-il ?
L'outil du navigateur est gratuit et s'exécute localement.
Que se passe-t-il si l'année de début est après l'année de fin ?
L'intervalle est refusé avec un message clair au lieu d'être inversé en silence, si bien qu'une faute de frappe sur l'une des deux années se voit tout de suite. Saisissez d'abord l'année la plus ancienne ; un intervalle d'une seule année est accepté.
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-years-between \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start_year":2000,"end_year":2024}'const res = await fetch("https://api.kit.forhosting.com/date/leap-years-between", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start_year": 2000,
"end_year": 2024
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/leap-years-between",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start_year": 2000,
"end_year": 2024
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/leap-years-between", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start_year":2000,"end_year":2024}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start_year":2000,"end_year":2024}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/leap-years-between", 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
{
"start_year": 2000,
"end_year": 2024
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.leap_years_between",
"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 les années bissextiles grégoriennes sont déterminées
Le JSON résultant reprend les bornes, l'étendue d'années, le décompte, la liste ascendante et une courte chaîne de règle, afin que vous puissiez auditer l'algorithme sans ouvrir le code source. Le tarif des appels API réussis est la base publiée de $0.002 par élément ; les échecs de validation ne consomment pas de solde prépayé.
Ce que vous envoyez et ce que vous recevez
Tous deux sont obligatoires et doivent être des entiers finis de un à neuf mille neuf cent quatre-vingt-dix-neuf. L'intervalle est inclusif : une requête de deux mille à deux mille quatre indique chaque année bissextile parmi deux mille, deux mille un, deux mille deux, deux mille trois et deux mille quatre. Les vérifications typiques incluent deux mille à deux mille vingt-quatre pour les décennies modernes, mille huit cent quatre-vingt-seize à mille neuf cent quatre pour montrer que mille neuf cents est sauté alors que deux mille ne l'est pas, et un intervalle d'une seule année où la seule bissextile possible est cette année elle-même. Envoyez deux champs entiers nommés start_year et end_year. Si start_year dépasse end_year, le gestionnaire échoue avec invalid_input et un message indiquant que le début ne doit pas dépasser la fin, afin que les clients corrigent l'ordre au lieu de deviner. Les champs manquants, les chaînes non numériques, les flottants, NaN, Infinity et les années hors de la plage autorisée échouent également avec invalid_input et ne sont pas facturés. En cas de succès, la réponse inclut start_year, end_year, inclusive à true, year_span égal à fin moins début plus un, count égal à la longueur de la liste des années bissextiles, leap_years sous forme de tableau ascendant d'entiers, ainsi que les chaînes rule et formula décrivant le test grégorien. Le parcours navigateur s'exécute localement et gratuitement ; le tarif de l'API est de $0.002 par élément réussi.
Où les listes d'intervalles d'années bissextiles apparaissent dans le travail réel
Comme cette capacité est un moteur de parse pur, le tarif de l'API est la base publiée de $0.002 par élément réussi et une validation échouée ne consomme pas de solde.
Cas d'intégration
Tests de dimensions de dates en entrepôt de données
Fixez des listes grégoriennes de bissextiles comme fixtures pour la validation ETL, les calendriers fiscaux et les tables d'années proleptiques sur des décennies ou des siècles.
Questions techniques
Que se passe-t-il si start_year est supérieure à end_year ?
La requête échoue avec invalid_input. Les bornes ne sont pas échangées automatiquement, de sorte qu'une entrée inversée n'est jamais acceptée en silence.