Feiertage berechnen und berücksichtigen - Teil 1
Die meisten variablen Feiertage lassen sich aus dem Termin von Ostern und Weihnachten berechnen. Für die Berechnung von Ostern gibt es eine Formel des Mathematikers Carl Friedrich Gauß, mit dem sich die Termine von Ostern bis in das Jahr 2499 berechnen lassen. Das reicht für die meisten Anwendungen aus.
Nachfolgend soll eine Klasse vorgestellt und erstellt werden, die Ihnen alle gesetzlichen und kirchlichen Feiertage berechnet und eine Methode zur Verfügung stellt, mit der Sie für ein bestimmtes Datum prüfen können, ob es sich dabei um einen Feiertag handelt und, wenn ja, um welchen.
Die Gaußsche Formel im Detail
Die Basis dieser Formel lautet Ostersonntag =D+E+22 und berechnet den Termin im Jahr, auf den Ostersonntag entfällt. Dabei berechnen sich D und E wie folgt:
D=((19*A)+M MOD 30)
E=((2*B)+(4*C)+(6 *D)+N) MOD 7
Die Variablen A, B und C berechnen sich wiederummwie folgt:
A= Jahr MOD 19
B= Jahr MOD 4
C= Jahr MOD 7
M und N stellen konstante Werte da, die abhängig vom Jahr feststehen. Sie berechnen sich wie Tabelle 1 zeigt.
Jahr |
M |
N |
1582 – 1699 |
22 |
2 |
1700 – 1799 |
23 |
3 |
1800 – 1899 |
23 |
4 |
1900 – 2099 |
24 |
5 |
2100 – 2199 |
24 |
6 |
2200 – 2299 |
25 |
0 |
2300 – 2399 |
26 |
1 |
2400 – 2499 |
25 |
1 |
Haben Sie den Ostersonntag nach dieser Formel berechnet, müssen Sie noch ein paar weitergehende Ausnahmeregeln berücksichtigen.
-
Ist das Ergebnis größer als 31, fällt Ostern in den April. Der Tag wird dann wie folgt berechnet: Ostersonntag =D+E-9.
-
Ist das Ergebnis kleiner als 31, fällt Ostern in den März und der Tag ist der berechnete Wert
-
Ist das Ergebnis der 26. April, fällt Ostern auf den 19. April.
-
Ist das Ergebnis der 25. April und gleichzeitig A > 10 und D = 28, dann ist der Ostersonntag der 18. April.
Die Formel lässt sich daher verhältnismäßig einfach in eine Methode eines Klassenmoduls umsetzen.