Berekening dag van de week

De dag van de week kan berekend worden door middel van een algoritme. Zo kan men onder meer een datum in het verleden of in de toekomst relateren aan een persoonlijk of maatschappelijk weekpatroon zoals die van vrije tijd, openingstijden en dienstregelingen.

Introductie

De basis van bijna alle algoritmes om de dag van de week te berekenen is:

  1. Opzoeken of berekenen op welke dag een bepaalde eeuw is begonnen.
  2. Opzoeken of berekenen hoeveel dagen na het begin van een eeuw een jaar in deze eeuw is begonnen.
  3. Opzoeken of berekenen hoeveel dagen na het begin van het jaar een maand in dit jaar is begonnen.
  4. Optellen van de dag van de maand, namelijk de dagen sinds de maand is begonnen.
  5. Elke dag van de week krijgt een nummer van 0 tot 6, zodat dan door het toepassen van modulo 7 (mod) de dag van de week bepaald kan worden.

Modulo betekent de rest na deling van een deeltal door een deler. In het geval van modulo 7 kan 7 of 14 of 21 enzovoort als 0 worden gezien, 8 of 15 of 22 als 1, 9 als 2, 18 als 4 enzovoort. Stel dat dag 0 zondag is, dan is de volgende zondag (dag 7) en de daarop volgende zondag (dag 14) ook 0 (nul). Donderdag krijgt dan het getal 4.

Bij iedere methode is er de complicatie van de schrikkeldagen, die niet aan het eind van het jaar zijn, waardoor een berekening voor het jaar (onafhankelijk van de dag van het jaar) en die voor de dag van het jaar (onafhankelijk van het jaar) niet volstaan. Mogelijke remedies zijn:

  • bereken een "jaargetal" dat bij een schrikkeljaar ervan afhangt of het gaat om een dag vóór 1 maart
  • bereken een "daggetal" dat ervan afhangt of het een schrikkeljaar is
  • pas bij een schrikkeljaar een correctie toe bij een dag vóór 1 maart
  • reken met jaren van maart t/m februari

Berekening

Achtereenvolgens tellen we op:

1) De dag van de maand.

2) Het maandgetal uit de volgende tabel:

MaandJanFebMaaAprMeiJunJulAugSepOktNovDec
Maandgetal033614625035

Januari begint met 0 en heeft 31 dagen, 31 mod 7 = 3, daarom heeft februari 3 + 0 = 3.
Februari heeft 28 dagen, 28 mod 7 = 0, dus maart begint met 3 + 0 = 3.
Maart heeft 31 dagen, 31 mod 7 = 3, dus april begint met 3 + 3 = 6.
April heeft 30 dagen, 30 mod 7 = 2, dus mei zou beginnen met 6 + 2 = 8, echter 8 mod 7 = 1, dus mei begint met 1.
Enzovoort.

3) Het jaargetal uit de volgende tabel:

Jaargetal0123560134561234601245602345
Jaar00010203040506070809101112131415161718192021222324252627
Jaar28293031323334353637383940414243444546474849505152535455
Jaar56575859606162636465666768697071727374757677787980818283
Jaar84858687888990919293949596979899

Het jaargetal is voor elk volgend jaar 1 hoger, behalve bij een schrikkeljaar, dan komt er 2 bij. In plaats van 7 wordt vanwege mod 7 weer 0 geschreven.

Deze cyclus herhaalt zich elke 28 jaar. 1928 is dus, wat het het jaargetal betreft, gelijk aan 1956 en 1984.

4) het eeuwgetal: Het eeuwgetal voor de gregoriaanse kalender is:

  • 0 voor alle jaartallen van de vorm 15.., 19.., 23..
  • 6 voor alle jaartallen van de vorm 16.., 20.., 24..
  • 4 voor alle jaartallen van de vorm 17.., 21.., 25..
  • 2 voor alle jaartallen van de vorm 18.., 22.., 26..

De cyclus van 400 jaren in de kalender heeft 146.097 dagen en dat is door 7 deelbaar (146.097 mod 7 = 0). De weekdagen herhalen zich daardoor ook elke 400 jaar. Het jaar 2006 heeft dus dezelfde weekdagen als het jaar 1606, maar ook 2406, 2806 enz.

Voor de juliaanse kalender is het eeuwgetal (25-nn) mod 7.

5) Correctie voor het schrikkeljaar. De berekening klopt voor de dagen vanaf 1 maart. Als de datum in februari of januari van het schrikkeljaar valt, dan dient 1 van het getal te worden afgetrokken.

Het resultaat van de berekening modulo 7 levert de weekdag:

0123456
zomadiwodovrza

Voorbeelden

De bestorming van de Bastille: 14 juli 1789

  1. dag 14
  2. juli geeft met de maandtabel het getal 6
  3. ..89 geeft met de jaartabel het getal 6
  4. 17.. geeft met de eeuwtabel het getal 4
  5. geen correctie voor een schrikkeljaar, dus 0

Dus (14+6+6+4+0) mod 7 = 30 mod 7 = 2. Deze gebeurtenis vond op een dinsdag plaats.

Laatste dag van de juliaanse kalender: 4 oktober 1582

  1. dag 4
  2. oktober geeft 0
  3. ..82 geeft 4
  4. 15.. geeft 3
  5. geen schrikkeljaarcorrectie: 0

(4+0+4+3+0) mod 7 = 4: donderdag

Eerste dag van de gregoriaanse kalender: 15 oktober 1582

  1. dag 15
  2. oktober geeft 0
  3. ..82 geeft 4
  4. 15.. geeft 0
  5. geen schrikkeljaarcorrectie: 0

(15+0+4+0+0) mod 7 = 5: vrijdag

Doomsdayregel

Binnen één jaar vallen 4-4, 6-6, 8-8, 10-10, 12-12, 5-9, 9-5, 7-11, 11-7 en de laatste dag van februari altijd op dezelfde dag van de week. Deze wordt de doomsday van het betreffende jaar genoemd (2019: donderdag; 2020: zaterdag). Een datum die op de doomsday van het betreffende jaar valt wordt ook een doomsday genoemd. Een dagmaandcombinatie (datum zonder jaartal) in de maanden maart t/m december is in elk jaar hetzelfde aantal dagen (0 t/m 6) na een doomsday. Bij een dagmaandcombinatie in de maanden januari en februari is dit aantal verschillend voor een gewoon jaar en een schrikkeljaar. Zo is bijvoorbeeld 3-1 van een gewoon jaar en 4-1 van een schrikkeljaar een doomsday. Om dit onderscheid te vermijden kan men de dagen van januari en februari ook relateren aan de doomsday van het vorige jaar. Zo valt bijvoorbeeld 2-1 van elk jaar op de doomsday van het vorige jaar, en begint elk jaar dus op de weekdag vóór de doomsday van het vorige jaar.

Als men de doomsday voor bijvoorbeeld het huidige jaar onthoudt kan men daaruit voor een willekeurige datum in hetzelfde jaar de dag van de week bepalen. Voor een ander jaar kan men de doomsday bepalen doordat hij, net als boven bij het jaargetal, elk jaar één dag later is, behalve in een schrikkeljaar, dan is hij twee dagen later. In de periode 1900–2099 herhaalt de serie zich elke 28 jaar. Men kan daarin ook met stappen van 4 jaar rekenen, daarbij gaat men steeds twee dagen terug (en bij een stap van 12 jaar dus een dag vooruit).

De doomsday van een jaar is

dagen na de dinsdag.

De doomsday van een jaar 20xx is

dagen na de dinsdag.

De doomsday van een jaar 19xx is

dagen na de woensdag.

Doomsdays
ma di wo do vr za zo ma di wo do vr za zo
189818991900190119021903190419051906190719081909
19101911191219131914191519161917191819191920
19211922192319241925192619271928192919301931
193219331934193519361937193819391940194119421943
19441945194619471948194919501951195219531954
19551956195719581959196019611962196319641965
19661967196819691970197119721973197419751976
19771978197919801981198219831984198519861987
198819891990199119921993199419951996199719981999
20002001200220032004200520062007200820092010
20112012201320142015201620172018201920202021
20222023202420252026202720282029203020312032
20332034203520362037203820392040204120422043
204420452046204720482049205020512052205320542055
20562057205820592060206120622063206420652066
20672068206920702071207220732074207520762077
20782079208020812082208320842085208620872088
208920902091209220932094209520962097209820992100

Relatie tussen het jaargetal en de doomsday

In de 21ste eeuw is voor een dag in maart t/m december de dag plus het maandgetal plus het eeuwgetal voor een doomsday 2 (modulo 7), dus voor het bepalen van de doomsday van een jaar nemen we het bovengenoemde jaargetal plus 2. Voor de 20ste eeuw nemen we het jaargetal plus 3.

Zie ook

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.