jdtojewish()
Lernen Sie die PHP-Funktion jdtojewish(), die einen Julianischen Tageszähler in ein jüdisches Kalenderdatum umwandelt, mit Syntax, Flags und Beispielen.
Einführung
Die PHP-Funktion jdtojewish() wandelt einen Julianischen Tageszähler (eine fortlaufende, ganzzahlige Tagesnummer) in ein Datum im jüdischen (hebräischen) Kalender um. Sie ist Teil von PHPs Calendar-Erweiterung und das Gegenstück zu jewishtojd().
Diese Seite behandelt die Syntax der Funktion, ihre Parameter und den Rückgabewert, die optionalen Flags zur hebräischen Formatierung, ein funktionierendes Beispiel sowie häufige Fallstricke.
Was ist ein Julianischer Tageszähler?
Ein Julianischer Tageszähler (JDC) ist eine fortlaufende Zählung ganzer Tage seit dem Mittag des 1. Januars 4713 v. Chr. (im proleptischen Julianischen Kalender). Da jedes Datum – vergangen oder zukünftig – auf eine einzige ganze Zahl abgebildet wird, ist der JDC eine praktische neutrale Darstellung: Man konvertiert ein beliebiges Kalenderdatum in einen Julianischen Tag und dann wieder in einen anderen Kalender. Genau so arbeiten PHPs Kalenderkonvertierungsfunktionen: Jeder Kalender hat eine *tojd()-Funktion und eine jdto*()-Funktion.
Hinweis: „Julianischer Tag" hat nichts mit dem „Julianischen Kalender" zu tun – sie teilen nur den Namen.
Syntax
jdtojewish(int $julian_day, bool $hebrew = false, int $flags = 0): string| Parameter | Beschreibung |
|---|---|
$julian_day | Der zu konvertierende Julianische Tageszähler. Muss eine ganze Zahl sein. |
$hebrew | Wenn true, wird das Datum als hebräischer Text statt als month/day/year zurückgegeben. |
$flags | Eine Bitmaske aus Formatierungskonstanten (siehe unten). Wird nur verwendet, wenn $hebrew true ist. |
Rückgabewert: ein string. Wenn $hebrew false ist, lautet das Format "month/day/year", zum Beispiel "8/7/5784". Wenn $hebrew true ist, wird das Datum als hebräischer string ausgegeben.
Hebräische Formatierungsflags
Diese Konstanten können mit dem Operator | (bitweises ODER) kombiniert werden und wirken sich nur aus, wenn $hebrew true ist:
| Konstante | Wirkung |
|---|---|
CAL_JEWISH_ADD_ALAFIM_GERESH | Fügt ein Geresh (') für die Tausenderstelle hinzu. |
CAL_JEWISH_ADD_ALAFIM | Fügt das Wort Alafim (Tausende) hinzu. |
CAL_JEWISH_ADD_GERESHAYIM | Fügt Gershayim vor dem letzten Buchstaben des Datums hinzu. |
Grundlegendes Beispiel
<?php
// First convert a Gregorian date to a Julian Day Count.
$julianDay = gregoriantojd(8, 7, 2024); // month, day, year
// Then convert that Julian Day to a Jewish calendar date.
$jewishDate = jdtojewish($julianDay);
echo "Julian Day Count: $julianDay\n";
echo "Jewish date (month/day/year): $jewishDate\n";
?>Hier beginnen wir mit dem Gregorianischen Datum 7. August 2024, wandeln es mit gregoriantojd() in einen Julianischen Tageszähler um und übergeben diesen Zähler dann an jdtojewish(). Das Ergebnis wird in der Form month/day/year mit den Monats- und Jahreszahlen des jüdischen Kalenders zurückgegeben.
Einen hebräischen string zurückgeben
Übergeben Sie true als zweites Argument, um das Datum als hebräischen Text darzustellen, und kombinieren Sie Flags für eine vollständigere Formatierung:
<?php
$julianDay = gregoriantojd(8, 7, 2024);
$hebrew = jdtojewish(
$julianDay,
true,
CAL_JEWISH_ADD_GERESHAYIM | CAL_JEWISH_ADD_ALAFIM_GERESH
);
echo $hebrew;
?>Häufige Fallstricke
- Verwenden Sie einen ganzzahligen Julianischen Tag, keinen gebrochenen. Funktionen wie
gregoriantojd()geben eine ganzzahlige Zählung zurück. Die Übergabe eines Floats wie2459401.5wird in modernem PHP abgelehnt – arbeiten Sie stets mit ganztägigen Ganzzahlen. - Flags werden ignoriert, wenn
$hebrewnichttrueist. DieCAL_JEWISH_*-Konstanten ändern nur die Ausgabe der hebräischen Stringform. - Die Calendar-Erweiterung muss verfügbar sein.
jdtojewish()ist Teil dercalendar-Erweiterung von PHP. Sie ist in den meisten Distributionen standardmäßig enthalten; wenn die Funktion jedoch nicht definiert ist, aktivieren oder kompilieren Sie die Erweiterung.
Verwandte Funktionen
jewishtojd()— das Gegenstück: jüdisches Datum zu Julianischem Tageszähler.gregoriantojd()— Gregorianisches Datum zu Julianischem Tageszähler.jdtogregorian()— Julianischer Tageszähler zu Gregorianischem Datum.jdmonthname()— Monatsname für einen Julianischen Tag in einem bestimmten Kalender.jddayofweek()— Wochentag für einen Julianischen Tag.
Fazit
jdtojewish() wandelt einen Julianischen Tageszähler in ein jüdisches Kalenderdatum um, optional als hebräischen Text. Kombinieren Sie die Funktion mit gregoriantojd() (oder einer beliebigen anderen *tojd()-Funktion), um zwischen Kalendern zu konvertieren, denken Sie daran, eine ganzzahlige Tageszählung zu übergeben, und verwenden Sie die CAL_JEWISH_*-Flags nur, wenn Sie die hebräische Stringform anfordern.