Start · Sprachen · PHP · Referenz · jdtogregorian

jdtogregorian

Funktion

Wandelt eine julianische Tageszahl (Julian Day Number) in ein gregorianisches Datum im Format <code>MM/TT/JJJJ</code> um.

seit PHP 4.0.0 Kategorie: date

Signatur

jdtogregorian(int $julian_day_count): string

Beschreibung

jdtogregorian() konvertiert eine julianische Tageszahl (Julian Day Number, JDN) in das entsprechende gregorianische Datum. Das Ergebnis wird als Zeichenkette im Format MM/TT/JJJJ zurückgegeben. Die julianische Tageszahl ist eine fortlaufende Tagesanzahl, die in der Astronomie und Kalenderrechnung eingesetzt wird und ab dem 1. Januar 4713 v. Chr. (julianisch) gezählt wird.

Diese Funktion gehört zur PHP-Kalender-Erweiterung (calendar) und ist besonders nützlich, wenn zwischen verschiedenen Kalendersystemen konvertiert werden soll. Eine typische Anwendung ist die Umrechnung gregorianischer Daten über das julianische Tageszahlen-System als gemeinsames Zwischenformat, etwa beim Wechsel zwischen gregorianischem, julianischem oder hebräischem Kalender.

Um zuerst ein gregorianisches Datum in eine JDN umzuwandeln, kann gregoriantojd() verwendet werden. Das Pendant für den julianischen Kalender ist jdtojulian(). Die Funktion benötigt die PHP-Erweiterung calendar, die in den meisten Standard-Installationen bereits enthalten ist.

Parameter

Name Typ Default Beschreibung
$julian_day_count Pflicht int Die julianische Tageszahl (Julian Day Number), die in ein gregorianisches Datum umgewandelt werden soll. Gültige Werte liegen typischerweise zwischen 1 (entspricht dem 24. November 4714 v. Chr. gregorianisch) und weit in die Zukunft.

Rückgabewert

Typ
string
Beschreibung
Gibt das gregorianische Datum als Zeichenkette im Format MM/TT/JJJJ zurück, z. B. "06/23/2024". Bei ungültiger oder zu kleiner Tageszahl (z. B. 0) wird ein leerer String zurückgegeben.

Beispiele

Julianische Tageszahl in gregorianisches Datum umwandeln

<?php
// Julian Day Number 2460484 entspricht dem 23. Juni 2024
$jdn = 2460484;
$datum = jdtogregorian($jdn);
echo $datum; // Ausgabe: 06/23/2024
?>
06/23/2024

Hin- und Rückumwandlung: Gregorianisch → JDN → Gregorianisch

<?php
// Heutiges Datum in JDN umwandeln und wieder zurückkonvertieren
$monat = 1;
$tag   = 1;
$jahr  = 2000;

$jdn   = gregoriantojd($monat, $tag, $jahr);
echo "JDN für 01/01/2000: " . $jdn . PHP_EOL;

$datum = jdtogregorian($jdn);
echo "Zurückgewandelt: " . $datum . PHP_EOL;

// Ausgabe in einzelne Teile zerlegen
[$m, $d, $y] = explode('/', $datum);
echo "Tag: $d, Monat: $m, Jahr: $y" . PHP_EOL;
?>
JDN für 01/01/2000: 2451545 Zurückgewandelt: 01/01/2000 Tag: 01, Monat: 01, Jahr: 2000

Kalenderkonvertierung: Hebräisch → Gregorianisch über JDN

<?php
// Hebräisches Datum 5784/7/1 in gregorianisches Datum umwandeln
// Hebräischer Monat 7 = Tischri, Jahr 5784
$jdn = jewishtojd(7, 1, 5784);
$gregorianisch = jdtogregorian($jdn);
echo "Hebräisch 5784/7/1 = Gregorianisch: " . $gregorianisch . PHP_EOL;
?>
Hebräisch 5784/7/1 = Gregorianisch: 09/16/2023

// Wichtig · Fallstricke

Kalender-Erweiterung erforderlich: Die Funktion setzt die PHP-Erweiterung calendar voraus. Unter Linux-Systemen kann es nötig sein, diese explizit zu aktivieren (--enable-calendar beim Kompilieren oder entsprechendes Paket installieren). In Windows-PHP ist die Erweiterung standardmäßig aktiv.

Format beachten: Das Rückgabeformat ist immer MM/TT/JJJJ (amerikanisches Format). Für andere Datumsformate muss die Zeichenkette mit explode() oder DateTime::createFromFormat() weiterverarbeitet werden.

Wertebereich: Bei Übergabe von 0 oder negativen Werten gibt die Funktion einen leeren String zurück. Der minimale sinnvolle Wert ist 1.