Appendix C. Anni bisestili
Questa appendice descrive le regole e l'implementazione dei calcoli degli anni bisestili.
Regole degli anni bisestili
Le regole degli anni bisestili nel calendario gregoriano sono progettate per rendere la durata media dell'anno vicina al periodo effettivo dell'orbita terrestre intorno al Sole (circa 365,2422 giorni).
Tre regole
Un anno bisestile deve soddisfare una delle seguenti condizioni:
- Gli anni divisibili per 4 ma non per 100 sono anni bisestili
- Gli anni divisibili per 400 sono anni bisestili
In pseudocodice:
if (year % 400 == 0) then
return LEAP_YEAR
else if (year % 100 == 0) then
return NOT_LEAP_YEAR
else if (year % 4 == 0) then
return LEAP_YEAR
else
return NOT_LEAP_YEAR
Esempi di implementazione
Python
def is_leap_year(year):
"""Determinare se l'anno è bisestile"""
return (year % 400 == 0) or (year % 4 == 0 and year % 100 != 0)
Esempi storici
Anni recenti (21° secolo)
2000: Anno bisestile ✅ (divisibile per 400)
2004: Anno bisestile ✅
2020: Anno bisestile ✅
2024: Anno bisestile ✅
Anni secolari
1600: Anno bisestile ✅
1700: Anno comune ❌
1800: Anno comune ❌
1900: Anno comune ❌
2000: Anno bisestile ✅
2100: Anno comune ❌
Perché abbiamo bisogno degli anni bisestili?
Il periodo orbitale effettivo della Terra è di circa 365,2422 giorni.
Precisione del calendario gregoriano:
Anni bisestili in 400 anni: 97
Durata media per anno: 365,2425 giorni
Errore: 0,0003 giorni/anno
Punto chiave: L'implementazione corretta delle regole degli anni bisestili è cruciale per la conformità RFC 3339.