Imaš ovde algoritam za konverziju između gregorijanskog kalendara i JDN (julian day number). JDN je redni broj dana počev od neke epohe. Pretvori datum u taj broj, pa dodaj 100 na taj broj, pa pretvori to natrag u datum. E, kada dobiješ datume, onda možeš ovako da odrediš koliko je proteklo od datuma (d1,m1,g1) do datuma (d2,m2,g2):
Neka je G=g2-g1, M=m2-m1, D=d2-d1.
Ako je D<0, onda M smanji za 1, a D neka bude broj dana protekao od datuma d1 u mesecu koji je prethodio mesecu m2 u godini g2 do datuma (d2,m2,g2). Ako taj prethodni mesec nema d1 dana, uzeti poslednji dan u tom mesecu.
Ako je M<0, smanjiti G za 1, a M povećati za 12.
Primer: Od datuma 31.5.2013. do 1.3.2014. koliko je prošlo?
D=-30, M=-2, G=1.
Obzirom da je D<0, smanjujemo M za jedan, a D treba da bude broj dana počev od 31.2.2014. do 1.3.2014. Obzirom da 31 februar ne postoji, D je broj dana od 28.2.2014. 1.3.2014, odnosno D=1, M=-1.
Obzirom da je M<0, M uvećavamo za 12, a G smanjujemo za 1. Dakle, M=11, G=0.
Konačno, između ta dva datuma je prošlo 11 meseci i 1 dan.
Naravno, ovo je samo jedan od mogućih načina definisanja broja godina, meseci i datuma iuzmeđu dva datuma.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.