Aluksi lasketaan gregoriaanisen pääsiäisen sijainti. Siihen käytetään Butcherin kaavaa. Tämä kaava sopii mainiosti ikikalenterissa pääsiäisen laskemiseen, koska mitään arvoja ei tarvitse muuttaa vuosisatojen muuttuessa. Kaavassa esiintyvä %-merkki tarkoittaa jakojäännöstä. Kohta näytetään miten se lasketaan. ParseInt puolestaan tarkoittaa sitä, että luku on ns. katkaistu kokonaisluku. Eli jos saat laskimeesi näytöksi 5.765, niin lukua ei pyöristetä ylöspäin vaan katkaistaan 5:ksi. y tarkoittaa kaavassa vuosilukua.
Valitaan vuosiluvut 1950 ja 2001. Aluksi vuosi 1950.
a=12
b= parseInt(1950/100) saadaan vastaukseksi kokonaisluku 19.
b=19
c=1950%100
Samalla tavalla kuin a. 1950 jaetaan 100:lla. Saadaan kokonaisluvuksi 19. Kerrotaan 19 luvulla 100. Saadaan 1900. Seuraavaksi 1950-1900=50.
c=50
d= parseInt(b/4)
if ((b/4) < 1) {
d = 0; }
Siis parseInt(19/4)=4
Kaavan loppuosa tarkoittaa sitä, että jos b/4 onkin pienempi kuin yksi (esim. 0.567) niin tietokone osaa varmasti muuttaa sen luvuksi 0. Se on varmuustoimenpide tietokonetta varten, sillä koneesi ei välttämättä ymmärrä muuttaa lukua nollaksi. (Muutoin arvoksi voi tulla NaN. Jos arvoksi tulee NaN, kaikki menee pieleen varmasti.) Tarkoitus joka tapauksessa on, että tuossa tapauksessa arvoksi tulee nolla.
d=4
e=b%4
Samalla tavalla kuin a ja c.
19/4= 4.75. Kerrotaan 4 luvulla 4. 4*4 = 16. Vähennetään 19-16 = 3.
e=3
f = parseInt((b+8)/25)
Siis kokonaisluku (19+8)/25= 1.08. Eli kokonaisluku on 1.
f=1
Kaavan loppuosalla on sama merkitys kuin d:llä.
g = parseInt((b-f+1)/3)
(19-1+1)/3= 6.3 Saadaan siis g:n arvoksi 6.
g= 6
Kaavan loppuosalla on sama merkitys kuin d:llä.
h = (19*a+b-d-g+15) % 30
Saadaan 252 % 30 (252/30 = 8.4; 8*30 = 240; 252-240 = 12)
h= 12
i = parseInt(c/4)
50/4 = 12
i = 12
Kaavan loppuosalla on sama merkitys kuin d:llä.
k = c % 4
k = 50 % 4 (50/4 = 12.5; 12*4 = 48; 50 - 48= 2)
k = 2
l = parseInt(32+2*e+2*i-h-k) % 7
Saadaan 48 % 7 (48/7 = 6.85; 6*7 = 42; 48-42= 6)
eli l = 6
m = parseInt((a+11*h+22*l)/451)
m = parseInt(276/451) = 0 (siis 276/451=0.612. Luvuksi jää 0.)
Kaavan loppuosalla on sama merkitys kuin d:llä. Joku ehdotti, että m saa aina arvoksi nolla, joten koko kaavaa ei tarvittaisi vaan voitaisiin kirjoittaa vain m=0. m ei kuitenkaan aina ole nolla.
emonth = parseInt((h+l-7*m+114)/31)
Saadaan siis parseInt(132/31)=4
Pääsiäisen kuukausi emonth=4
r = (h+l-7*m+114) % 31
r = 132 % 31 (132/31= 4.23; 4*31 = 124; 132-124 = 8
r = 8
edate = r+1
Pääsiäispäivän päivämäärä edate= 8 + 1 = 9
Pääsiäispäivä vuonna 1950 on siis 9.4.
Saat seuraavat luvut:
a= 6
b= 20
c= 1
d= 5
e= 0
f= 1
g=6
h=138 % 30 =18
i= 0
k= 1
l= 6
m= 0
emonth=4
r=14
edate=15
Siis pääsiäispäivä vuonna 2001 on 15.4.
a= 13
b= 20
c= 46
d= 5
e= 0
f= 1
g= 6
h= 1
i= 11
k= 2
l= 2
m= 0
emonth=3
r= 24
edate= 25
Pääsiäispäivä vuonna 2046 on siis 25.3.
Valitse sitten itse mikä tahansa vuosiluku 1900-2200 väliltä ja laske pääsiäispäivän sijainti vastaavalla tavalla.
Kuten näet tietokone suoriutuu laskusta varmasti nopeammin. Muutamina vuosina (1700-1800-luvuilla) on kuitenkin ollut eo. laskutavasta poikkevia pääsiäisiä. Joten jos lasket pääsiäisen sijainnin kyseisille vuosille, lopputulos onkin erilainen kuin pääsiäisen todellinen sijainti.
Juliaanisella pääsiäisellä on tietysti erilainen kaava. Seuraavassa kaavassa on jälleen äsken tutuksi tulleita merkkejä; % = jakojäännös, parseInt tarkoittaa katkaistua kokonaislukua. Lisäksi y tarkoittaa vuosilukua.
I = (19*G+15) % 30
I = 205 % 30 = 25
J = parseInt(y+(y/4)+I) % 7
Saadaan J = 2175 % 7 = 5
L = I - J
L = 25-5 = 20
emonth = parseInt(3+(L+40)/44)
emonth= 4
eq = (L+28-31*(emonth/4));
if ((emonth==3)&&(eq<8)) {
eq=eq+24; }
edate=parseInt(eq)
edate = 17
Pääsiäispäivä vuonna 1720 oli 17.4.
Kaavan loppuosa siis tarkoittaa sitä, että jos saat eq:n arvoksi esim. 3., niin lukuun 3 lisätään 24, jotta saadaan oikea pääsiäispäivän päivämäärä 27. Siitä seuraavassa esimerkissä. Jos siis emonth=3 ja eq:n arvoksi tuli jokin pikkunumero, se ei ole pääsiäispäivän päivämäärä, vaan pitää lisätä 24, jotta saadaan oikea luku. Muussa tapauksessa (jos emonth=3 ja eq on suurempi kuin 21 tai aina kun emonth=4) eq on sama kuin edate.
G = 1
I = 4
J = 5
L = -1
emonth=3
eq=3 ja koska eq=3 lisätään siihen 24. 3+24=27
edate=27
Pääsiäispäivä vuonna 1692 oli 27.3.
G = 3
I = 12
J = 5
L = 7
emonth=4
edate=4
Pääsiäispäivä vuonna 1675 oli 4.4.
Voit harjoitella juliaanisen pääsiäisen laskemista millä tahansa vuodella, mutta vuosien 1700-1711 välisenä aikana Suomessa oli käytössä ruotsalainen kalenteri, joka erosi yhden karkauspäivän verran juliaanisesta kalenterista, siksi noina vuosina:
if ((y<1712)&&(y>1699)) {
edate=edate+1; }
Mikäli tuli ongelmia ja haluat kysyä jotakin tai kenties havaitsit jopa virheen esimerkissäni, vastaa vaikkapa ruudun vasemmasta alalaidasta löytyvän palautesivun kautta.