Welcher Wochentag war der 24. Dezemeber 2007? Mit etwas Übung lässt sich diese Frage innert Sekunden beantworten.
Dazu benötigen wir zwei Tabellen:
Die Monatstabelle
Januar | +0 |
Februar | +3 |
März | +3 |
April | +6 |
Mai | +1 |
Juni | +4 |
Juli | +6 |
August | +2 |
September | +5 |
Oktober | +0 |
November | +3 |
Dezember | +5 |
Die Jahrestablle
… | |
2013 | +1 |
2012 | +0 (SJ) |
2011 | +5 |
2010 | +4 |
2009 | +3 |
2008 | +2 (SJ) |
2007 | +0 |
2006 | +6 |
2005 | +5 |
2004 | +4 (SJ) |
… |
Da in einem Schaltjahr (SJ) der Schalttag erst am 29. Februar ist, muss für die Monate Januar und Februar noch ein Tag abgezogen werden (-1).
Der Algorithmus für die Berechnung des Wochentages geht nun folgendermassen:
- Setze Zähler auf 0:
- Überprüfe Jahr, addiere Zahl zu Zähler:
- Falls Schaltjahr und Monat kleiner als 3, subtrahiere -1:
- Überprüfe Monat, addiere Zahl zu Zähler:
- Überprüfe Tag, addiere Zahl zu Zähler:
- Rechen Modulo 7:
- Das Resultat ist der Wochentag, also
-> Montag
-> Dienstag
etc
Am Beispiel vom 24. Dezember 2007 ergibt dies folgende Rechnung:
- Montag
Erweiterung
Der ambitioniert Rechner will gerne alle Daten der letzten Jahrhunderte kenne, die ganze Tabelle auswendig zu lernen ist daher idiotisch.
Zuerts kurz noch zu Schaltjahre:
Schaltjahre finden alle 4 Jahre statt. Alle hundert Jahre (…,1500, 1700, 1800, 1900, 2100, …) fällt es aus, alle 400 Jahre (…, 1200, 1600, 2000, …) findet es trotzdem statt.
Beginnen wir im Jahr 1901, so müssen wir für die nächsten 200 Jahre nur die 4 Jahres Schaltjahrregel berücksichtigen.
Der 1. Januar 1901 war glücklicherweise ein Dienstag – somit ist
1901 | +1 |
Wir rechnen nun also
und erhalten die + Zahl für das jeweilige Jahr.
Am Beispiel von 2007 erhalten wir:
Soeben entdecke ich den ausführlichen Wikipediaartikel: Wochentagsberechnung
Hallo,….
ich denke das diese Methode nicht sehr schnell ist, das zurückrechnen verbraucht zuviel Zeit.
Bitte meine entwickelte Theorie ansehen!!!
Wochentage.wordpress.com
Man kann mich auch Googln (Wochentage berechnen)