Themen
Tutorials
Tools
Feiertage ermitteln mit PHP
Es gibt ja Feiertage deren Datum variabel ist, z.B. Ostern oder Pfingsten. Die meisten sind auf den Ostersonntag ausgerichtet, welcher sich durch die Gaußsche Osterformel von Carl Friedrich Gauß mit PHP berechnen lässt.
Beispiel
Das ausgewählte Jahr zeigt die errechneten Daten an, dies lässt sich durch das Vor- und Zurückblättern überprüfen.
Die Berechnungen sind nicht so ganz trivial, wie das folgende Tutorial zeigen wird..
Schritt 1: Berechnung Ostersonntag
Zunächst wäre es sinnvoll eine Klasse zu erstellen, in welcher als erstes Variablen festgelegt werden und über den Konstruktor das zu behandelnde Jahr geholt wird..

Mit dem übergebenen Jahr haben wir nun einen Ausgangspunkt, auf den wir uns beziehen können. Was folgt ist die eben angesprochene Gaußsche Osterformel (Zeilen 15-27). Das Ergebnis wird anschließend noch etwas formatiert (Zeilen 28-39) und durch return (Zeile 40) zurückgegeben..

Jetzt haben wir zwei weitere Ausgangspunkte erhalten können, nämlich den Tag und den Monat vom Ostersonntag.
Schritt 2: Berechnung Ostermontag
Der Ostermontag folgt ja bekanntlich auf dem Ostersonntag. So muss also nur der Tagwert vom Ostersonntag um 1 addiert werden..

Und auch hier wird das Ganze nach der Berechnung noch ordentlich formatiert und zurückgegeben.
Schritt 3: Berechnung Karfreitag
Der Karfreitag liegt immer zwei Tage hinter dem Ostersonntag, deswegen wird der Tagwert vom Ostersonntag um 2 subtrahiert..

So erhalten wir das Datum vom Karfreitag. Schauen wir uns nun Christi Himmelfahrt an...
Schritt 4: Berechnung Christi Himmelfahrt
Christi Himmelfahrt findet immer an einem Donnerstag und 39 Tage nach Ostersonntag statt. Hier muss also der Zeitraum zwischen dem 30.04. bis 03.06. betrachtet werden. Dementsprechend ist es erforderlich durch Fallunterscheidungen nach dem richtigen Tag zu suchen..

An dieser Berechnung hatte ich damals am längsten gesessen :-)
Schritt 5: Berechnung Pfingstsonntag
Pfingstsonntag ist immer 49 Tage (= 7 Wochen) nach Ostersonntag, also wird der Tagwert vom Ostersonntag um 49 addiert..

Das sieht dann so aus.
Schritt 6: Berechnung Pfingstmontag
Pfingstmontag ist immer 50 Tage nach Ostersonntag, der Tagwert vom Ostersonntag wird um 50 addiert..

Vom Prinzip her sind die Berechnungen sehr ähnlich, so auch bei Schritt 7..
Schritt 7: Berechnung Fronleichnam
Fronleichnam ist immer 60 Tage nach Ostersonntag, der Tagwert vom Ostersonntag wird um 60 addiert..

Damit hätten wir nun alle variablen Feiertage, die nach Ostern ausgerichtet sind.
Schritt 8: Berechnung Buß- und Bettag
Der Buß- und Bettag ist seit 1995 nur noch ein gesetzlicher Feiertag in Sachsen. Dieser findet immer an einem Mittwoch zwischen dem 16.11. und dem 22.11. statt und richtet sich nach dem 1. Advent aus (11 Tage davor, falls dieser Tag nicht auf den 23.11. fällt).

Geschafft! Jetzt haben wir alle variablen Feiertage Deutschlands zusammen und können diese uns ausgeben lassen..
Schritt 9: Ausgabe der Feiertage
Jetzt lassen wir uns das Ergebnis anzeigen...

Dieses Kapitel hat jetzt hoffentlich niemanden entmutigt :-)
