W3docs

jdtojulian()

Lernen Sie, wie die PHP-Funktion jdtojulian() eine julianische Tagesnummer in ein Datum des julianischen Kalenders umwandelt, mit Beispielen und juliantojd().

Die PHP-Funktion jdtojulian()

Die Funktion jdtojulian() wandelt eine Julianische Tagesnummer in ein Datum des Julianischen Kalenders um, das als Zeichenkette im Format Monat/Tag/Jahr zurückgegeben wird.

Es ist wichtig, die zwei Bedeutungen des Wortes „Julianisch" hier nicht zu verwechseln:

  • Julianische Tagesnummer (JDC) — eine fortlaufende Zählung der Tage seit dem Mittag der Universellen Zeit am 1. Januar 4713 v. Chr. Es handelt sich um eine bloße Zahl (zum Beispiel 2459459) ohne Bezug zu einem bestimmten Kalender. In der Astronomie wird sie häufig verwendet, weil sie die Datumsarithmetik vereinfacht.
  • Julianischer Kalender — der von Julius Caesar im Jahr 45 v. Chr. eingeführte Kalender, der in Europa verwendet wurde, bis er ab 1582 schrittweise durch den Gregorianischen Kalender abgelöst wurde. Heute weichen die beiden Kalender um 13 Tage voneinander ab.

jdtojulian() nimmt eine Julianische Tagesnummer entgegen und gibt an, welchem Datum diese Zahl im Julianischen Kalender entspricht. Das Gegenstück jdtogregorian() tut dasselbe, gibt aber das Datum im Gregorianischen Kalender zurück.

Syntax

jdtojulian(int $julian_day): string

Die Funktion akzeptiert einen Parameter — die Julianische Tagesnummer als Integer — und gibt das entsprechende Datum des Julianischen Kalenders als "Monat/Tag/Jahr"-Zeichenkette zurück. Wenn die Eingabe 0 (eine ungültige Julianische Tagesnummer) ist, wird "0/0/0" zurückgegeben.

Eine Julianische Tagesnummer in ein Julianisches Kalenderdatum umwandeln

<?php

$jdc = 2459459;
$julianDate = jdtojulian($jdc);

echo $julianDate; // Outputs: 8/19/2021

Der zurückgegebene Wert ist eine Zeichenkette, die Sie bei Bedarf in ihre einzelnen Teile aufteilen können:

<?php

[$month, $day, $year] = explode('/', jdtojulian(2459459));

echo "Year: $year, Month: $month, Day: $day";
// Outputs: Year: 2021, Month: 8, Day: 19

Warum Julianisches und Gregorianisches Datum voneinander abweichen

Dieselbe Julianische Tagesnummer führt in jedem Kalender zu einer anderen Bezeichnung. Für 2459459:

<?php

echo jdtojulian(2459459);    // Outputs: 8/19/2021  (Julian calendar)
echo "\n";
echo jdtogregorian(2459459); // Outputs: 9/1/2021   (Gregorian calendar)

Der 13-Tage-Unterschied zwischen 8/19 und 9/1 entspricht genau dem aktuellen Versatz zwischen dem Julianischen und dem Gregorianischen Kalender — beide Zeilen beschreiben denselben Augenblick in der Zeit.

Ein Julianisches Kalenderdatum zurück in eine Julianische Tagesnummer umwandeln

Um den umgekehrten Weg zu gehen — von einem Julianischen Kalenderdatum zurück zu einer Julianischen Tagesnummer — verwenden Sie juliantojd(). Diese Funktion nimmt Monat, Tag und Jahr entgegen und gibt eine Ganzzahl zurück:

<?php

$jdc = juliantojd(8, 19, 2021);

echo $jdc; // Outputs: 2459459

Da die beiden Funktionen Umkehrungen voneinander sind, liefert ein Hin-und-Rückweg das ursprüngliche Datum zurück:

<?php

echo jdtojulian(juliantojd(8, 19, 2021)); // Outputs: 8/19/2021

Wann würde ich das verwenden?

Den Julianischen Kalender benötigen Sie für alltägliche Anwendungsdaten selten — für diese sollten Sie PHPs DateTime und date()-APIs bevorzugen, die im Gregorianischen Kalender arbeiten. jdtojulian() ist nützlich, wenn Sie:

  • Mit historischen Aufzeichnungen arbeiten, die vor der Gregorianischen Reform von 1582 datiert sind (oder in Ländern, die sie viel später übernahmen).
  • Mit astronomischen oder genealogischen Daten arbeiten, die Datumsangaben als Julianische Tagesnummern speichern.
  • Zwischen Kalendersystemen konvertieren, wobei die Julianische Tagesnummer als neutraler Mittelpunkt dient — zum Beispiel gregoriantojd() → Integer speichern → jdtojulian().

Hinweis: Die Erweiterung calendar muss aktiviert sein, damit diese Funktionen verfügbar sind. Sie ist im Lieferumfang von PHP enthalten und wird bei den meisten Builds standardmäßig einkompiliert.

Fazit

Die Funktion jdtojulian() wandelt eine Julianische Tagesnummer in eine Datumszeichenkette im Julianischen Kalender um, während juliantojd() die Umkehrung durchführt. Sie spiegeln das Gregorianische Paar jdtogregorian() und gregoriantojd() wider, weshalb dieselbe Tageszahl zwei verschiedene Kalenderbezeichnungen ergibt. Weitere Details finden Sie in der offiziellen Dokumentation zu jdtojulian() und juliantojd().

Übungen

Übung
Was ist die Aufgabe der Funktion jdtojulian() in PHP?
Was ist die Aufgabe der Funktion jdtojulian() in PHP?
Was this page helpful?