jddayofweek()
Den julianischen Kalender verstehen
Bevor wir uns der Funktion jddayofweek zuwenden, ist es wichtig, den julianischen Kalender zu verstehen, der 45 v. Chr. von Julius Caesar eingeführt wurde. Dieser Kalender wurde in ganz Europa weit verbreitet genutzt, bis 1582 der gregorianische Kalender eingeführt wurde.
Der julianische Kalender basiert auf einem Jahr mit 365 Tagen, wobei alle vier Jahre ein Schaltjahr eingefügt wird, um den zusätzlichen Vierteltag im Sonnenjahr auszugleichen. Dieser Ansatz führt jedoch zu einem Fehler von etwa drei Tagen alle 400 Jahre, was zur Einführung des gregorianischen Kalenders führte.
Was ist die Funktion jddayofweek?
Die Funktion jddayofweek ist eine integrierte PHP-Funktion, die basierend auf einer angegebenen julianischen Tagesnummer den Wochentag ermittelt. Sie akzeptiert zwei Parameter: julianday und mode.
Der Parameter julianday ist eine Ganzzahl, die die Anzahl der Tage seit dem 1. Januar 4713 v. Chr. (der julianische Epoche) darstellt. Diese fortlaufende Tageszählung dient als Referenzpunkt für Kalenderberechnungen.
Der Parameter mode ist eine optionale Ganzzahl, die das Rückgabeformat angibt. Standardmäßig wird der Modus 3 (CAL_DOW_EXTENDED) verwendet, der den Wochentag als Ganzzahl von 1 bis 7 zurückgibt, wobei 1 für Montag und 7 für Sonntag steht. Andere Modi geben abgekürzte (1) oder vollständige (2) Tagesnamen zurück.
Verwendung der Funktion jddayofweek in PHP
Um die Funktion jddayofweek zu verwenden, konvertieren Sie zunächst Ihr Ziel-Datum mit cal_to_jd in eine julianische Tagesnummer. Diese Funktion erfordert den Kalendertyp sowie separate Ganzzahlen für Monat, Tag und Jahr.
Sobald Sie die julianische Tagesnummer haben, übergeben Sie sie zusammen mit dem gewünschten Modus an jddayofweek. Die Funktion gibt den entsprechenden Wochentag zurück.
Hier ist ein Beispiel, das den Standardmodus (3) und Modus 2 demonstriert:
Die Funktion jddayofweek() in PHP
<?php
// Convert Gregorian date to Julian day number
$julianDay = cal_to_jd(CAL_GREGORIAN, 3, 2, 2023);
// Mode 3 (default): Returns integer 1-7 (Monday=1, Sunday=7)
$dayInt = jddayofweek($julianDay, 3);
echo "Mode 3: Day number is {$dayInt}\n";
// Mode 2: Returns full day name
$dayName = jddayofweek($julianDay, 2);
echo "Mode 2: {$dayName}\n";
?>In diesem Beispiel konvertieren wir das gregorianische Datum 2023-03-02 mit cal_to_jd in eine julianische Tagesnummer. Anschließend übergeben wir es mit Modus 3 an jddayofweek, was 5 zurückgibt (entspricht Donnerstag). Die Verwendung von Modus 2 gibt den vollständigen Namen "Donnerstag" zurück.
Fazit
Zusammenfassend ist die Funktion jddayofweek ein nützliches Werkzeug für die Arbeit mit julianischen Tagesnummern in PHP. Wenn Sie verstehen, wie diese Funktion funktioniert und wie Sie sie in Ihrem Code verwenden, können Sie Wochentage für historische, astronomische oder kalenderübergreifende Datumsumrechnungen genau bestimmen.
Praxis
Was macht die Funktion jddayofweek() in PHP?