Berekening dag van de week

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

De dag van de week kan berekend worden door middel van een mathematisch algoritme. Een typische toepassing van deze berekening is om de dag uit te rekenen waarop men geboren is of waarop een belangrijke gebeurtenis plaats vond.

Introductie[bewerken]

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.

Berekening[bewerken]

Achtereenvolgens tellen we op:

1) De dag van de maand.

2) Het maandgetal uit de volgende tabel:

Maand Jan Feb Maa Apr Mei Jun Jul Aug Sep Okt Nov Dec
Maandgetal 0 3 3 6 1 4 6 2 5 0 3 5

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:

Jaargetal 0 1 2 3 5 6 0 1 3 4 5 6 1 2 3 4 6 0 1 2 4 5 6 0 2 3 4 5
Jaar 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Jaar 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
Jaar 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
Jaar 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

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 eeuwen die met 15.., 19.., 23.. beginnen
  • 6 voor alle eeuwen die met 16.., 20.., 24.. beginnen
  • 4 voor alle eeuwen die met 17.., 21.., 25.. beginnen
  • 2 voor alle eeuwen die met 18.., 22.., 26.. beginnen

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:

0 1 2 3 4 5 6
zo ma di wo do vr za

Voorbeelden[bewerken]

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[bewerken]

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 (de "Doomsday" van het betreffende jaar; 2014: vrijdag). 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).