easter_date()
Einführung
Da wir uns Ostern nähern, ist es wichtig zu verstehen, wie man das Datum dieses Feiertags programmatisch berechnen kann. In modernem PHP ist die empfohlene Methode zur Bestimmung des Ostersonntags die Verwendung der DateTime-Klasse. Dieser Artikel erläutert die Berechnungsmethodik und bietet schrittweise Anleitungen für aktuelle sowie veraltete PHP-Implementierungen.
Geschichte von Ostern
Das Datum von Ostern basiert auf einem lunisolaren Kalender und wird nach astronomischen und mathematischen Regeln berechnet. Historisch gesehen wurde diese Berechnung durch das Konzil von Nicaea im Jahr 325 n. Chr. formalisiert, um den Feiertag in verschiedenen Regionen zu standardisieren.
Berechnung von Ostern
Das Datum von Ostern wird durch die Berechnung des ersten Sonntags nach dem ersten Vollmond bestimmt, der am oder nach dem Frühlingsanfang (dem ersten Tag des Frühlings) eintritt. Diese Berechnungsmethode wurde vom Konzil von Nicaea im Jahr 325 n. Chr. festgelegt.
In PHP können Sie diese Berechnung mit integrierten Datumsfunktionen implementieren. Nachfolgend finden Sie die empfohlenen und veralteten Ansätze:
Empfohlener Ansatz (PHP 5.3+) Verwenden Sie die DateTime-Klasse mit dem Modifikator Easter Sunday. Sie übernimmt die komplexen Mondberechnungen intern und berücksichtigt Zeitzoneneinstellungen.
- Signatur:
new DateTime(string $datetime = "now", ?DateTimeZone $timezone = null) - Parameter: Übergeben Sie
"Easter Sunday YYYY"(z. B."Easter Sunday 2023"). Optional können Sie einDateTimeZone-Objekt übergeben. - Rückgabewert: Ein
DateTime-Objekt, das den Ostersonntag um00:00:00darstellt. - Zeitzone: Berücksichtigt die angegebene Zeitzone oder die Standardzeitzone des Servers.
Veraltete Funktion: easter_date() (Veraltet/Entfernt)
⚠️ Wichtig: Die Funktion
easter_date()wurde in PHP 8.1 als veraltet markiert und in PHP 8.2 entfernt. Sie ist in modernen PHP-Umgebungen nicht mehr verfügbar. Verwenden Sie stattdessen den oben beschriebenenDateTime-Ansatz.
Historisch bot PHP die Funktion easter_date() zur Berechnung von Ostern an.
- Signatur:
easter_date(int $timestamp = time()): int - Parameter: Ein Unix-Zeitstempel, der das Jahr repräsentiert, für das Ostern berechnet werden soll.
- Rückgabewert: Unix-Zeitstempel für den Ostersonntag dieses Jahres.
- Zeitzone: Verlässt sich auf
date_default_timezone_set()und akzeptiert keine benutzerdefinierten Zeitzone-Argumente.
Beispielcode
Modernes Beispiel (Empfohlen)
<?php
$year = 2023;
$easter = new DateTime("Easter Sunday $year");
echo $easter->format('F j, Y'); // Outputs: April 9, 2023Veraltetes Beispiel (Nur PHP 8.1 und älter)
<?php
$year = 2023;
$easter_date = easter_date(mktime(0, 0, 0, 1, 1, $year));
echo date('F j, Y', $easter_date);Dieser Code gibt das Datum des Ostersonntags im Jahr 2023 aus: 9. April 2023.
Fazit
Zusammenfassend lässt sich sagen, dass das Verständnis der programmatischen Berechnung von Ostersonntagsdaten für Kalenderanwendungen und Feiertagsplanungen nützlich ist. Für aktuelle PHP-Versionen sollten Sie stets die DateTime-Klasse mit dem Modifikator Easter Sunday für zuverlässige, zeitzonenbewusste Ergebnisse bevorzugen. Die veraltete Funktion easter_date() sollte nur bei der Wartung alter Codebasen verwendet werden, die PHP 8.1 oder älter ausführen.
Praxis
Was gibt die Funktion easter_date() in PHP zurück?