Passa al contenuto principale

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:

  1. Gli anni divisibili per 4 ma non per 100 sono anni bisestili
  2. 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.