Gaußsche Wochentagsformel
Die gaußsche Wochentagsformel erlaubt die Berechnung des Wochentages anhand eines gegebenen Datums. Sie wird häufig für die Berechnung der Wochentage in der Informatik eingesetzt.
Formel
Die Berechnung des Wochentages nach Carl Friedrich Gauß lautet:
A = d + [2.6 m – 0.2] + y + [y/4] + [c/4] – 2c w = A mod 7
Dabei gelten folgende Variablen:
A: Hilfsvariable zur Übersichtlichkeit d: Tagesdatum (1 bis 31) y: Die beiden letzten Stellen der Jahreszahl (für 2006 wäre diese 06 also 6) c: Die beiden ersten Stellen der Jahreszahl (für 2006 wäre diese 20) m: Monat gemäß unten angeführter Tabelle
Bei der Implementation muss darauf geachtet werden, das der Ausdruck [2.6 m – 0.2] auf eine Ganze Zahl abgerundet werden muss.
März | April | Mai | Juni | Juli | August | September | Oktober | November | Dezember | Januar | Februar |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
Hinweise zur Berechnung:
- Für Modulo-Divisionen wird die Kurzbezeichnung „mod“ verwendet.
- Bei den Divisionen handelt es sich um Ganzzahl-Divisionen (div).
Wichtig: Da Januar und Februar die Zahlen 11 und 12 haben, muss für diese beiden Monate die Jahreszahl bei der Berechnung um 1 vermindert werden! So gelten z.B. für 12. Januar 2006 folgende Variablen:
d = 12 y = 5 c = 20 m = 11
Und für 01. Januar 2000 gelten daher (Gesammte Jahreszahl vermindern!):
d = 1 y = 99 c = 19 m = 11
Für 12. Juni 2006 gelten jedoch:
d = 12 y = 6 c = 20 m = 4
Das Ergebnis ist der Wochentag w gemäß folgender Tabelle:
0 | 1 | 2 | 3 | 4 | 5 | 6 |
Sonntag | Montag | Dienstag | Mittwoch | Donnerstag | Freitag | Samstag |
Beispiel
Ein Beispiel am Datum 12. Januar 2006:
A = 12 + [2.6*11 – 0.2] + 5 + [5/4] + [20/4] – 2*20 A = 12 + 28 + 5 + 1 + 5 - 40 A = 11 w = 11 mod 7 w = 4 w entspricht Donnerstag
Somit ist der 12. Januar 2006 ein Donnerstag.
Das Ergebnis der Gaußschen Wochentagsformel kann allerdings auch negativ sein, in diesem Fall muss man noch 7 auf das Ergebnis addieren um die Wochentagsnummer zu erhalten.