Signatur
Beschreibung
juliantojd() konvertiert ein Datum aus dem Julianischen Kalender in die entsprechende Julianische Tageszahl (Julian Day Number, JDN). Die Julianische Tageszahl ist eine fortlaufende Ganzzahl, die die Anzahl der Tage seit dem 1. Januar 4713 v. Chr. (julianisch) zählt und als universelles Referenzsystem in Astronomie und Kalenderrechnung eingesetzt wird.
Diese Funktion ist besonders nützlich, wenn historische Daten aus dem Julianischen Kalender mit Daten anderer Kalendersysteme verglichen oder umgerechnet werden sollen. Der Julianische Kalender war bis zur Einführung des Gregorianischen Kalenders (1582 in katholischen Ländern, später in anderen Regionen) das vorherrschende Zeitsystem in Europa.
Die zurückgegebene Julianische Tageszahl kann anschließend mit Funktionen wie jdtogregorian(), jdtounix() oder cal_from_jd() in andere Kalenderformate konvertiert werden. Damit ist juliantojd() ein zentrales Bindeglied in der PHP-Kalenderextension.
Der unterstützte Jahresbereich reicht von 4714 v. Chr. bis 9999 n. Chr.. Für das Jahr 0 gilt: Es gibt kein Jahr 0 im Julianischen Kalender; nach dem Jahr 1 v. Chr. folgt direkt das Jahr 1 n. Chr. Jahre v. Chr. werden als negative Zahlen angegeben.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $month Pflicht | int | Der Monat als Ganzzahl von 1 (Januar) bis 12 (Dezember). |
|
| $day Pflicht | int | Der Tag des Monats als Ganzzahl von 1 bis 31. |
|
| $year Pflicht | int | Das Jahr als Ganzzahl. Jahre vor Christus werden als negative Zahlen angegeben (z. B. -44 für 44 v. Chr.). Es gibt kein Jahr 0. |
Rückgabewert
int zurück, die dem angegebenen Julianischen Datum entspricht. Bei ungültigen Eingaben kann 0 zurückgegeben werden.Beispiele
Einfache Umrechnung eines historischen Datums
<?php
// Konvertierung des 4. Oktober 1582 (julianisch) – letzter Tag des Julianischen Kalenders
// in vielen katholischen Ländern
$jd = juliantojd(10, 4, 1582);
echo "Julianische Tageszahl: " . $jd . PHP_EOL;
// Zum Vergleich: Ausgabe als Gregorianisches Datum
echo "Gregorianisch: " . jdtogregorian($jd) . PHP_EOL;
Datumsvergleich zwischen Julianischem und Gregorianischem Kalender
<?php
// Ermittlung des Unterschieds in Tagen zwischen zwei Kalendersystemen
// Weihnachten nach Julianischem Kalender (entspricht 7. Januar gregorianisch)
$julianChristmas = juliantojd(12, 25, 2024);
$gregorianChristmas = gregoriantojd(12, 25, 2024);
$differenz = $julianChristmas - $gregorianChristmas;
echo "Julianische Tageszahl (25. Dez. jul.): " . $julianChristmas . PHP_EOL;
echo "Julianische Tageszahl (25. Dez. greg.): " . $gregorianChristmas . PHP_EOL;
echo "Differenz in Tagen: " . $differenz . PHP_EOL;
echo "Julianisches Weihnachten gregorianisch: " . jdtogregorian($julianChristmas) . PHP_EOL;
Historisches Datum vor Christus umrechnen
<?php
// Ermordung Caesars: 15. März 44 v. Chr. (Iden des März)
$jd = juliantojd(3, 15, -44);
echo "Julianische Tageszahl der Iden des März 44 v. Chr.: " . $jd . PHP_EOL;
// Wichtig · Fallstricke
Jahresbereich: Gültige Jahre liegen zwischen 4714 v. Chr. und 9999 n. Chr. Werte außerhalb dieses Bereichs führen zu undefinierten oder falschen Ergebnissen.
Kein Jahr 0: Im Julianischen (und Gregorianischen) Kalender gibt es kein Jahr 0. Nach -1 (1 v. Chr.) folgt direkt 1 (1 n. Chr.). Ein übergebener Wert von 0 liefert ein falsches Ergebnis.
Kalenderextension erforderlich: juliantojd() gehört zur PHP-Kalenderextension (ext/calendar), die bei den meisten Standard-PHP-Installationen aktiviert ist. Auf manchen minimalen Installationen muss sie ggf. explizit aktiviert werden.
Nicht verwechseln: Der Julianische Kalender (nach Julius Caesar) und die Julianische Tageszahl (Julian Day Number, ein astronomisches Zählsystem) sind zwei verschiedene Konzepte, die hier miteinander verknüpft werden.