Anni bisestili in un intervallo
Inserisca due anni e ottenga tutti i bisestili tra di essi, estremi inclusi: dal 2000 al 2024 sono 7, a partire dal 2000 fino al 2024 compreso. Gli anni secolari seguono la regola gregoriana, quindi il 1900 resta fuori e il 2000 conta. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Anno iniziale
- 2000
- Anno finale
- 2024
- Ampiezza in anni
- 25
- Quantità
- 7
- Regola
- Gregorian: year%4==0 and (year%100!=0 or year%400==0)
Gli anni bisestili inseriscono un giorno in più — il 29 febbraio — affinché il calendario civile resti allineato con l'anno tropico. Secondo il sistema gregoriano oggi in uso nella maggior parte del mondo, un anno è bisestile quando è divisibile per quattro, eccetto gli anni secolari, che devono essere divisibili anche per quattrocento. Questo significa che il 2000 è bisestile, il 1900 no, e anni ordinari come il 2024 e il 2028 sì. Questo strumento prende un anno iniziale e un anno finale inclusivi, percorre ogni anno dell'intervallo con un test di bisestilità puro e deterministico e restituisce sia il conteggio sia l'elenco ordinato degli anni bisestili. Quando l'anno iniziale è maggiore di quello finale, la richiesta fallisce con un chiaro errore di validazione invece di scambiare silenziosamente gli estremi.
Come si decide se un anno è bisestile secondo il calendario gregoriano
La riforma gregoriana ha affinato l'antica regola giuliana secondo cui ogni quarto anno era bisestile. Con le regole gregoriane, un anno Y è bisestile se e solo se Y è divisibile per quattro e, inoltre, Y non è divisibile per cento oppure Y è divisibile per quattrocento. In forma compatta: bisestile quando Y modulo quattro è uguale a zero e (Y modulo cento non è zero oppure Y modulo quattrocento è uguale a zero).
Gli anni secolari che non superano la prova dei quattrocento — 1700, 1800, 1900, 2100 — sono anni comuni di soli trecentosessantacinque giorni, mentre il 1600 e il 2000 restano bisestili. Questa capacità applica la regola gregoriana prolettica in modo uniforme per ogni anno intero da uno a novemilanovecentonovantanove, in linea con gli altri strumenti di calendario del catalogo KIT.
L'implementazione non chiama mai Date di JavaScript, non legge mai l'orologio di sistema e non accede mai alla rete: esegue il parse di due anni interi, rifiuta un intervallo invertito e poi scorre l'intervallo inclusivo raccogliendo ogni anno che supera il predicato di bisestilità.
Dove compaiono gli elenchi di intervalli di anni bisestili nel lavoro reale
I problemi scolastici e di concorso chiedono di continuo quanti anni bisestili cadono tra due anni o quali anni di un secolo includono il ventinove febbraio; un oracolo affidabile che restituisce il conteggio e l'elenco completo accelera la correzione e la preparazione delle demo. I team di prodotto e operations che costruiscono roadmap pluriennali, coorti di retention o calendari di fatturazione devono sapere quando febbraio ha ventinove giorni affinché programmi, SLA e formule di conteggio dei giorni restino corretti.
Il software che genera file ICS, calendari scolastici o periodi di paga su orizzonti lunghi trae vantaggio da una funzione pura che non dipende mai dal fuso orario dell'host né dalle particolarità del costruttore Date. Se in seguito Le servono ordinali di giorno dell'anno, conteggi di fine settimana tra due date ISO o numeri di giorno giuliano, li tratti come intenti di ricerca e landing separate invece di sovraccaricare questa pagina sugli intervalli di anni bisestili.
Casi d'uso
Chiavi di risposta per compiti e concorsi
Generi l'elenco ordinato e il conteggio degli anni bisestili tra due anni, così insegnanti e correttori automatici condividono un'unica verità gregoriana.
Calendari di pianificazione pluriennale e fatturazione
Segni ogni 29 febbraio in una roadmap di prodotto, una coorte di retention o un orizzonte di fatturazione senza bug di Date sensibili al fuso orario.
Domande frequenti
Quale regola di anno bisestile usa questo strumento?
La regola gregoriana prolettica: un anno è bisestile se è divisibile per 4, eccetto gli anni secolari, che devono essere divisibili per 400. Quindi il 2000 è bisestile, il 1900 no e il 2024 sì.
L'intervallo di anni è inclusivo?
Un intervallo di un solo anno restituisce un unico anno bisestile oppure un elenco vuoto con conteggio zero.
Usa Date di JavaScript?
No. L'algoritmo è aritmetica intera pura sul predicato gregoriano di bisestilità. Niente Date, niente rete, niente casualità.
Quanto costa?
Lo strumento del browser è gratuito e gira in locale.
Cosa succede se inserisco l'anno iniziale dopo quello finale?
L'intervallo viene rifiutato con un messaggio chiaro invece di essere invertito in silenzio, così un errore di battitura in uno dei due anni si nota subito. Inserisca prima l'anno precedente; un intervallo di un solo anno va bene.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"start_year": 2000,
"end_year": 2024
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.leap_years_between",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Come si decide se un anno è bisestile secondo il calendario gregoriano
Il JSON risultante riporta gli estremi, l'ampiezza in anni, il conteggio, l'elenco ascendente e una breve stringa con la regola, così Lei può verificare l'algoritmo senza aprire il codice sorgente. Il prezzo delle chiamate API riuscite è la base pubblicata di $0.002 per elemento; i fallimenti di validazione non consumano saldo prepagato.
Cosa invia e cosa riceve
Entrambi sono obbligatori e devono essere interi finiti da uno a novemilanovecentonovantanove. L'intervallo è inclusivo: una richiesta dal duemila al duemilaquattro segnala ogni anno bisestile tra duemila, duemilauno, duemiladue, duemilatre e duemilaquattro. Le verifiche tipiche includono dal duemila al duemilaventiquattro per i decenni moderni, dal milleottocentonovantasei al millenovecentoquattro per mostrare che il millenovecento viene saltato mentre il duemila no, e un intervallo di un solo anno in cui l'unico bisestile possibile è quell'anno stesso. Invii due campi interi chiamati start_year ed end_year. Se start_year supera end_year, il gestore fallisce con invalid_input e un messaggio che l'inizio non deve superare la fine, così i client possono correggere l'ordine invece di tirare a indovinare. Campi mancanti, stringhe non numeriche, float, NaN, Infinity e anni fuori dalla fascia consentita falliscono anch'essi con invalid_input e non vengono addebitati. In caso di successo la risposta include start_year, end_year, inclusive impostato a true, year_span pari a fine meno inizio più uno, count pari alla lunghezza dell'elenco degli anni bisestili, leap_years come array ascendente di interi, oltre alle stringhe rule e formula che descrivono il test gregoriano. Il percorso nel browser viene eseguito localmente senza costi; il prezzo dell'API è $0.002 per elemento riuscito.
Dove compaiono gli elenchi di intervalli di anni bisestili nel lavoro reale
Poiché questa capacità è un motore di parse puro, il prezzo dell'API è la base pubblicata di $0.002 per elemento riuscito e la validazione fallita non consuma saldo.
Casi di integrazione
Test delle dimensioni data nel data warehouse
Fissi elenchi gregoriani di bisestili come fixture per la validazione ETL, i calendari fiscali e le tabelle di anni prolettici lungo decenni o secoli.
Domande tecniche
Cosa succede se start_year è maggiore di end_year?
La richiesta fallisce con invalid_input. Gli estremi non vengono scambiati automaticamente, così un input invertito non viene mai accettato in silenzio.