Start · Sprachen · PHP · Referenz · jdtojewish

jdtojewish

Funktion

Wandelt eine Julianische Tagesnummer in ein Datum des jüdischen Kalenders um und gibt es als formatierten String zurück.

seit PHP 4.0.0 Kategorie: date

Signatur

jdtojewish(int $julian_day_count, bool $hebrew = false, int $flags = 0): string

Beschreibung

jdtojewish() konvertiert eine Julianische Tagesnummer (Julian Day Number, JDN) in ein entsprechendes Datum des jüdischen (hebräischen) Kalenders. Das Ergebnis wird standardmäßig als String im Format Monat/Tag/Jahr zurückgegeben.

Wird der Parameter hebrew auf true gesetzt, erfolgt die Ausgabe in hebräischen Schriftzeichen (UTF-8). In diesem Fall können über den Parameter flags zusätzliche Formatierungsoptionen gesteuert werden, etwa ob der Monat ausgeschrieben, Sonderzeichen verwendet oder Jahreszahlen in hebräischer Numerik dargestellt werden sollen.

Typischerweise wird jdtojewish() zusammen mit gregoriantojd() oder cal_to_jd() verwendet, um ein gregorianisches Datum zunächst in eine JDN und dann in das jüdische Kalenderformat umzurechnen. Die Funktion ist Teil der Kalender-Erweiterung von PHP (ext/calendar).

Zu beachten ist, dass die Kalender-Erweiterung standardmäßig kompiliert wird, auf manchen Systemen aber möglicherweise aktiviert werden muss.

Parameter

Name Typ Default Beschreibung
$julian_day_count Pflicht int Die Julianische Tagesnummer (Julian Day Number), die in ein jüdisches Datum umgewandelt werden soll. Kann z. B. mit gregoriantojd() aus einem gregorianischen Datum erzeugt werden.
$hebrew bool false Wenn true, wird die Ausgabe in hebräischen Schriftzeichen (UTF-8) statt als numerischer String zurückgegeben.
$flags int 0 Bitmask für die hebräische Ausgabe (nur relevant wenn hebrew = true). Mögliche Flags: CAL_JEWISH_ADD_ALAFIM_GERESH (Apostroph nach Tausenderangabe), CAL_JEWISH_ADD_ALAFIM (hebräisches Wort für Tausend), CAL_JEWISH_ADD_GERESHAYIM (doppelter Apostroph vor letztem Buchstaben der Jahreszahl).

Rückgabewert

Typ
string
Beschreibung
Gibt das jüdische Datum als String zurück. Ohne hebräische Ausgabe im Format Monat/Tag/Jahr (z. B. 7/1/5784). Mit hebrew = true als hebräischer Text in UTF-8-Kodierung.

Beispiele

Gregorianisches Datum in jüdisches Datum umrechnen

<?php
// Gregorianisches Datum: 15. September 2023
$jd = gregoriantojd(9, 15, 2023);
$jewish = jdtojewish($jd);
echo "Jüdisches Datum: " . $jewish;
// Ausgabe: 7/1/5784 (1. Tishri 5784 = Rosch HaSchana 5784)
Jüdisches Datum: 7/1/5784

Jüdisches Datum in hebräischen Schriftzeichen ausgeben

<?php
// Gregorianisches Datum: 7. Oktober 2023
$jd = gregoriantojd(10, 7, 2023);
$jewish_hebrew = jdtojewish(
    $jd,
    true,
    CAL_JEWISH_ADD_GERESHAYIM | CAL_JEWISH_ADD_ALAFIM_GERESH
);
echo "Hebräisches Datum: " . $jewish_hebrew;
Hebräisches Datum: כ"ב תשרי ה'תשפ"ד

Heutiges Datum automatisch konvertieren

<?php
// Aktuelles Datum in jüdisches Kalenderformat umrechnen
list($month, $day, $year) = explode('/', date('n/j/Y'));
$jd = gregoriantojd((int)$month, (int)$day, (int)$year);
$jewish = jdtojewish($jd);
list($j_month, $j_day, $j_year) = explode('/', $jewish);

echo "Heute im jüdischen Kalender: $j_day. Monat $j_month, Jahr $j_year";

// Wichtig · Fallstricke

Kalender-Erweiterung: Die Funktion gehört zur PHP-Erweiterung ext/calendar. Diese ist auf den meisten Systemen standardmäßig verfügbar, kann aber auf einigen Plattformen fehlen. Im Zweifelsfall extension_loaded('calendar') prüfen.

Gültigkeitsbereich: Der jüdische Kalender beginnt mit dem Jahr 1 (entspricht ca. 3761 v. Chr. im gregorianischen Kalender). Sehr frühe julianische Tagesnummern können zu ungültigen oder unerwarteten Ergebnissen führen.

Hebräische Ausgabe: Für die korrekte Darstellung hebräischer Zeichen muss sichergestellt werden, dass die Ausgabe als UTF-8 behandelt wird (z. B. korrekter Content-Type-Header oder header('Content-Type: text/html; charset=UTF-8')).