Signatur
Beschreibung
jdmonthname() wandelt einen Julianischen Tageszähler (Julian Day Number, JDN) in den Namen des entsprechenden Monats um. Der zurückgegebene Monatsname richtet sich dabei nach dem über den Parameter mode gewählten Kalendersystem.
Die Funktion ist besonders nützlich, wenn Datumsberechnungen kalenderübergreifend durchgeführt werden und man den lesbaren Monatsnamen des Ergebnisses benötigt — etwa bei der Anzeige von Daten im Gregorianischen, Julianischen, Jüdischen oder Französisch-Republikanischen Kalender.
Unterstützte Kalendertypen (Werte für mode): CAL_MONTH_GREGORIAN_SHORT (0), CAL_MONTH_GREGORIAN_LONG (1), CAL_MONTH_JULIAN_SHORT (2), CAL_MONTH_JULIAN_LONG (3), CAL_MONTH_JEWISH (4), CAL_MONTH_FRENCH (5).
Die Monatsnamen werden auf Englisch zurückgegeben. Für die Verwendung in lokalisierten Anwendungen sollte das Ergebnis mit einer eigenen Übersetzungstabelle kombiniert oder stattdessen auf IntlDateFormatter zurückgegriffen werden.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $julian_day_count Pflicht | int | Der Julianische Tageszähler (Julian Day Number), der in einen Monatsnamen umgewandelt werden soll. Kann z. B. mit cal_to_jd() oder gregoriantojd() erzeugt werden. |
|
| $mode Pflicht | int | Bestimmt das Kalendersystem, nach dem der Monatsname ermittelt wird. Gültige Werte sind die Konstanten CAL_MONTH_GREGORIAN_SHORT (0), CAL_MONTH_GREGORIAN_LONG (1), CAL_MONTH_JULIAN_SHORT (2), CAL_MONTH_JULIAN_LONG (3), CAL_MONTH_JEWISH (4) und CAL_MONTH_FRENCH (5). |
Rückgabewert
mode oder einem JDN von 0 wird ein leerer String zurückgegeben.Beispiele
Gregorianischen Monatsnamen ausgeben
<?php
// Gregorianisches Datum 15. März 2024 in JDN umwandeln
$jdn = gregoriantojd(3, 15, 2024);
// Vollständigen Monatsnamen (Gregorianisch) ermitteln
$monthLong = jdmonthname($jdn, CAL_MONTH_GREGORIAN_LONG);
$monthShort = jdmonthname($jdn, CAL_MONTH_GREGORIAN_SHORT);
echo "Vollständig: " . $monthLong . "\n";
echo "Abgekürzt: " . $monthShort . "\n";
Monatsnamen im Jüdischen Kalender ermitteln
<?php
// Gregorianisches Datum 15. Oktober 2024 in JDN umwandeln
$jdn = gregoriantojd(10, 15, 2024);
// Jüdischen Monatsnamen ausgeben
$jewishMonth = jdmonthname($jdn, CAL_MONTH_JEWISH);
echo "Jüdischer Monat: " . $jewishMonth . "\n";
// Französisch-Republikanischen Monatsnamen ausgeben
$frenchMonth = jdmonthname($jdn, CAL_MONTH_FRENCH);
echo "Französischer Republikanischer Monat: " . $frenchMonth . "\n";
// Wichtig · Fallstricke
Englische Ausgabe: Die von jdmonthname() zurückgegebenen Monatsnamen sind stets auf Englisch und werden nicht von der Locale-Einstellung beeinflusst. Für lokalisierte Monatsnamen sollte IntlDateFormatter oder strftime() (veraltet ab PHP 8.1) genutzt werden.
Kalender-Extension: Die Funktion erfordert die Calendar-Extension (ext/calendar), die standardmäßig in den meisten PHP-Builds aktiviert ist. Ist sie nicht verfügbar, führt der Aufruf zu einem Fatal Error.
JDN 0: Ein Julianischer Tageszähler von 0 (der dem 1. Januar 4713 v. Chr. entspricht) liefert abhängig vom Modus einen leeren String oder einen unerwarteten Wert — Eingaben sollten daher vorab validiert werden.