jdtogregorian()
Erfahren Sie mehr über die Funktion jdtogregorian() in PHP zur Umwandlung von Julianischen Tageszahlen in gregorianische Datumsangaben.
Einführung
In diesem Artikel besprechen wir die Funktion jdtogregorian() in PHP und ihre Verwendung zur Umwandlung von Julianischen Datumsangaben in Gregorianische Datumsangaben. Wir befassen uns außerdem mit der Geschichte und Bedeutung des Julianischen und Gregorianischen Kalenders sowie dem Unterschied zwischen den beiden.
Julianischer und Gregorianischer Kalender
Der Julianische Kalender wurde von Julius Caesar im Jahr 45 v. Chr. eingeführt und basierte auf dem Konzept eines Sonnenjahres, also der Zeit, die die Erde für einen vollständigen Umlauf um die Sonne benötigt. Der Julianische Kalender hatte jedoch einen kleinen Fehler, der dazu führte, dass er sich pro Jahr um etwa 11 Minuten vom Sonnenjahr entfernte. Das klingt zunächst nach einer geringfügigen Abweichung, führte aber im Laufe der Zeit zu einer merklichen Verschiebung der Kalenderdaten.
Um dieses Problem zu beheben, wurde der Gregorianische Kalender im Jahr 1582 n. Chr. von Papst Gregor XIII. eingeführt. Der Gregorianische Kalender war eine Verfeinerung des Julianischen Kalenders und sollte die Kalenderdaten mit dem Sonnenjahr in Einklang bringen. Der Unterschied zwischen den beiden Kalendern besteht darin, dass der Julianische Kalender 365,25 Tage pro Jahr hatte, während der Gregorianische Kalender 365,2425 Tage hat. Diese Anpassung führte zur Abschaffung von Schaltjahren in Jahren, die auf „00" enden, sofern sie nicht durch 400 teilbar sind.
Julianische Tageszahlen
Julianische Tageszahlen sind ein System zur Zählung der Tage seit dem 1. Januar 4713 v. Chr., dem Beginn der Julianischen Periode. Julianische Tageszahlen werden häufig in der Astronomie verwendet und basieren auf der Anzahl der Tage, die seit dem Beginn der Julianischen Periode vergangen sind.
Umwandlung Julianischer Tageszahlen in Gregorianische Datumsangaben
Die Funktion jdtogregorian() in PHP wandelt eine Julianische Tageszahl in ein Gregorianisches Kalenderdatum um. Sie ist Teil der Kalender-Erweiterung von PHP, die in den meisten Builds standardmäßig aktiviert ist.
Syntax
jdtogregorian(int $julian_day): string$julian_day ist die Julianische Tageszahl, die umgewandelt werden soll. Die Funktion gibt das entsprechende Gregorianische Datum als string im Format Monat/Tag/Jahr zurück — zum Beispiel 10/4/2021. Beachten Sie, dass die einzelnen Teile nicht mit führenden Nullen aufgefüllt werden (es gibt 10/4/2021, nicht 10/04/2021), und eine Julianische Tageszahl von 0 gibt den Sentinel-String 0/0/0 zurück.
Eine Julianische Tageszahl ist eine einfache Ganzzahl, die Tage seit dem 1. Januar 4713 v. Chr. zählt. Verwechseln Sie sie nicht mit einem Datum im Julianischen Kalender — das sind zwei verschiedene Dinge. Um aus einem Gregorianischen Datum eine Julianische Tageszahl zu erhalten, verwenden Sie
gregoriantojd()odercal_to_jd().
Einfaches Beispiel
Wandeln wir die Julianische Tageszahl 2459492 in ihr Gregorianisches Datum um:
<?php
echo jdtogregorian(2459492);Ausgabe:
10/4/2021Ausgabe in ISO 8601 umformatieren
Da der zurückgegebene String das Format Monat/Tag/Jahr ohne führende Nullen verwendet, parsen Sie ihn mit den Formatzeichen n/j/Y (n = Monat ohne führende Nullen, j = Tag ohne führende Nullen), wenn Sie einen standardmäßigen JJJJ-MM-TT-Wert benötigen:
<?php
$gregorian = jdtogregorian(2459492); // "10/4/2021"
$date = date_create_from_format('n/j/Y', $gregorian);
echo $date->format('Y-m-d');Ausgabe:
2021-10-04Weitere Informationen zum Parsen von Datumsangaben aus benutzerdefinierten Formaten finden Sie unter date_create_from_format().
Hin- und Rückumwandlung eines Datums
jdtogregorian() ist die Umkehrfunktion von gregoriantojd(). Die Umwandlung eines Datums in eine Julianische Tageszahl und zurück liefert den ursprünglichen Wert:
<?php
$jd = gregoriantojd(10, 4, 2021); // month, day, year
echo $jd, "\n"; // 2459492
echo jdtogregorian($jd); // 10/4/2021Ausgabe:
2459492
10/4/2021Verwandte Kalenderfunktionen
Beim Arbeiten mit Julianischen Tageszahlen werden Sie häufig auf diese verwandten Funktionen zurückgreifen:
gregoriantojd()— wandelt ein Gregorianisches Datum in eine Julianische Tageszahl um (die Umkehrfunktion dieser Funktion).jdtojulian()— wandelt eine Julianische Tageszahl in ein Datum im Julianischen Kalender um.cal_to_jd()undcal_from_jd()— generische, kalendarisch bewusste Umwandlungen.jddayofweek()— gibt den Wochentag für eine Julianische Tageszahl zurück.
Fazit
Zusammenfassend lässt sich sagen, dass die Funktion jdtogregorian() in PHP ein nützliches Werkzeug zur Umwandlung von Julianischen Datumsangaben in Gregorianische Datumsangaben ist. Das Verständnis des Unterschieds zwischen den beiden Kalendern und der Bedeutung ihrer Einführung kann Einblicke in die Entwicklung von Zeitmesssystemen geben. Wir hoffen, dass dieser Artikel Ihnen ein umfassendes Verständnis des Themas vermittelt hat.