Start · Sprachen · PHP · Referenz · jdmonthname

jdmonthname

Funktion

Gibt den Monatsnamen für einen Julianischen Tageszähler (JDN) zurück, abhängig vom gewählten Kalendertyp.

seit PHP 4.0.0 Kategorie: date

Signatur

jdmonthname(int $julian_day_count, int $mode): string

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

Typ
string
Beschreibung
Gibt den Monatsnamen als Zeichenkette (auf Englisch) zurück, der dem übergebenen Julianischen Tageszähler im gewählten Kalendersystem entspricht. Bei ungültigem 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";
Vollständig: March Abgekürzt: Mar

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";
Jüdischer Monat: Tishri Französischer Republikanischer Monat: Vendemiaire

// 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.