Bereken Pasen

Wanneer is het Pasen of Goede Vrijdag? Of Pinksteren of Hemelvaart? Gelukkig zit hier een redelijk logische opbouw in. Goede Vrijdag valt 2 dagen voor Paaszondag. Hemelvaart 39 dagen na Paaszondag en Pinksterzondag weer 10 dagen daarna. Zodra je weet wanneer het Pasen is, kan je dus vrij gemakkelijk ook de andere feestdagen bepalen.

Alleen… wanneer is het dan Pasen? Hiervoor kan je natuurlijk in je agenda kijken, maar zeker wanneer het voor over een aantal jaren wil weten, of wanneer je het in een geautomatiseerd systeem wilt bepalen, is dat niet echt handig.

Ene Carl Friedrich Gauss stelde ooit een redelijk nauwkeurig berekening op, waarover iets meer wordt verteld op deze pagina. Deze berekening heb ik in onderstaande JavaScript functie gegoten, zodat deze vrij gemakkelijk in diverse applicaties gebruikt kan worden.

De functie berekenPasen vraagt om een jaartal als input, en geeft op basis daarvan de datum van Paaszondag in het bewuste jaar terug.

function berekenpasen(a){
  var g = (a % 19)+1;                 //gulden getal
  var c = Math.floor(a/100)+1;        //eeuwtal
  var x = Math.floor(3*c/4)-12;       //correctie voor niet-schrikkeljaren
  var y = Math.floor(((8*c)+5)/25)-5; //maancorrectie
  var z = Math.floor(5*a/4)-10-x;     //zondag
  var m = 2;                          //maand maart (januari = 0)
  //epacta
  var e = ((11*g)+20+y-x) % 30; 
  if ((e == 24 || e == 25) && g > 11){
    e = e + 1;
  }
  //volle maan
  var n = 44-e;
  if (n < 21){
    n = n + 30;
  }
  //paaszondag
  var p = n+7-((z+n)%7);
  if (p > 31){
    p = p - 31;
    m = m + 1;
  }
  //datum eerste paasdag
  return new Date(a,m,p);
};

Meer weten over (het gebruik van) deze functie? Neem dan contact met mij op via deze contactpagina.

Geef een reactie

Vul je gegevens in of klik op een icoon om in te loggen.

WordPress.com logo

Je reageert onder je WordPress.com account. Log uit /  Bijwerken )

Google photo

Je reageert onder je Google account. Log uit /  Bijwerken )

Twitter-afbeelding

Je reageert onder je Twitter account. Log uit /  Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log uit /  Bijwerken )

Verbinden met %s