Signatur
Beschreibung
jdtojulian() konvertiert eine julianische Tageszahl (Julian Day Count, JDC) in ein Datum gemäß dem julianischen Kalender – nicht zu verwechseln mit dem gregorianischen Kalender. Das Ergebnis wird als Zeichenkette im Format Monat/Tag/Jahr zurückgegeben.
Der julianische Kalender war bis zur Einführung des gregorianischen Kalenders im Jahr 1582 in weiten Teilen Europas in Gebrauch. Er unterscheidet sich vom gregorianischen Kalender im Schaltjahrverhalten: Jedes durch 4 teilbare Jahr ist ein Schaltjahr, ohne die Ausnahmen des gregorianischen Kalenders. Die Funktion ist daher vor allem für historische Datumsberechnungen und astronomische Anwendungen nützlich.
Die julianische Tageszahl ist ein fortlaufender Zähler, der seit dem 1. Januar 4713 v. Chr. (im julianischen Proleptic Calendar) läuft und in der Astronomie weit verbreitet ist. PHP-Kalender-Funktionen wie cal_to_jd() oder gregoriantojd() arbeiten alle auf Basis dieser JDN, was eine einfache Konvertierung zwischen verschiedenen Kalenderformaten ermöglicht.
Zu beachten ist, dass die Funktion Teil der PHP-Kalendererweiterung (Calendar Extension) ist. Diese ist standardmäßig in den meisten PHP-Distributionen aktiviert, muss aber ggf. explizit kompiliert oder geladen werden.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $julian_day_count Pflicht | int | Die julianische Tageszahl (Julian Day Number), die in ein julianisches Kalenderdatum umgewandelt werden soll. Gültige Werte müssen >= 0 sein. |
Rückgabewert
Monat/Tag/Jahr zurück (z. B. "3/15/44" für den 15. März 44 v. Chr.). Bei ungültigen oder zu kleinen Werten kann eine leere Zeichenkette zurückgegeben werden.Beispiele
Heutiges Datum im julianischen Kalender anzeigen
<?php
// Aktuelles gregorianisches Datum in eine JDN umwandeln
$jdn = gregoriantojd((int)date('n'), (int)date('j'), (int)date('Y'));
// JDN in julianisches Kalenderdatum umwandeln
$julian_date = jdtojulian($jdn);
echo "Gregorianisch: " . date('d.m.Y') . PHP_EOL;
echo "Julianisch: " . $julian_date . PHP_EOL;
Historisches Datum berechnen: Ermordung Caesars
<?php
// 15. März 44 v. Chr. im julianischen Kalender
// Im julianischen Kalender: Monat 3, Tag 15, Jahr -43 (astronomisches Jahr)
$jdn = juliantojd(3, 15, -43);
echo "Julian Day Number: " . $jdn . PHP_EOL;
echo "Julianisches Datum: " . jdtojulian($jdn) . PHP_EOL;
// Formatierung in lesbares Datum
[$monat, $tag, $jahr] = explode('/', jdtojulian($jdn));
echo "Lesbar: {$tag}.{$monat}.{$jahr}" . PHP_EOL;
Vergleich julianischer und gregorianischer Kalender
<?php
// Ein Datum im gregorianischen Kalender
$greg_monat = 3;
$greg_tag = 1;
$greg_jahr = 1900;
$jdn = gregoriantojd($greg_monat, $greg_tag, $greg_jahr);
echo "Gregorianisch: {$greg_tag}.{$greg_monat}.{$greg_jahr}" . PHP_EOL;
echo "Julianisch: " . jdtojulian($jdn) . PHP_EOL;
// 1900 war im gregorianischen Kalender kein Schaltjahr,
// aber im julianischen — daher 13 Tage Differenz im 20. Jh.
// Wichtig · Fallstricke
Kalender-Verwechslung: Der julianische Kalender (Julian Calendar) ist nicht identisch mit der julianischen Tageszahl (Julian Day Number). Die JDN ist ein universelles astronomisches Zählsystem; der julianische Kalender ist das antike Kalendersystem, das von Julius Caesar eingeführt wurde.
Negative Jahreszahlen: Jahre vor Christus werden als negative Zahlen im astronomischen Format angegeben, d. h. das Jahr 1 v. Chr. entspricht 0, 44 v. Chr. entspricht -43.
Verfügbarkeit: Die Funktion erfordert die PHP-Kalendererweiterung. Unter Windows ist sie standardmäßig aktiv. Unter Linux/macOS muss PHP ggf. mit --enable-calendar kompiliert worden sein oder das Modul muss in der php.ini geladen werden.