Vuodelle on monta määritelmää: https://fi.wikipedia.org/wiki/Vuosi
Sideerinen vuosi, anomalistinen vuosi, trooppinen vuosi. Gregoniaarista kalenteria ajatellen tärkein on trooppinen vuosi, koska vuodenaikojen halutaan pysyvän "paikoillaan". Gregoniaarista kalenteria joudutaan suorittamani REBOL-ohjelman perusteella säätämään joka 2000 vuosi, koska silloin tulee päivän heitto. Gregoniaarinen kalenteri on 2000 vuoden välein päivän edellä.
rebol[]
trooppinenvuosi: 365.2422
gregoriaaninenvuosi: 365.2425
päiviä: 0
trooppisiapäiviä: 0
vuosi: 0
print "odota..."
korjaustehtävä: false
until [
vuosi: vuosi + 1
päiviä: päiviä + 365
trooppisiapäiviä: trooppisiapäiviä + trooppinenvuosi
if (modulo vuosi 4) = 0 [päiviä: päiviä + 1]
if (modulo vuosi 100) = 0 [päiviä: päiviä - 1]
if (modulo vuosi 400) = 0 [
päiviä: päiviä + 1
if (round trooppisiapäiviä) <> (round päiviä) [
print [(round trooppisiapäiviä) (round päiviä) vuosi]
korjaustehtävä: true
]
]
korjaustehtävä = true
]
halt
Ylläoleva ohjelma tulosti:
odota...
730484 730485 2000
>>