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.