Heim >Backend-Entwicklung >PHP-Tutorial >Warum gibt mein PHP-Code „Dezember' statt „August' zurück, wenn ich eine Monatszahl in ihren Namen umwandele?

Warum gibt mein PHP-Code „Dezember' statt „August' zurück, wenn ich eine Monatszahl in ihren Namen umwandele?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-06 08:44:02901Durchsuche

Why does my PHP code return

Zahl in PHP in Monatsnamen umwandeln

Ihr PHP-Code versucht, eine Monatszahl (8) in den entsprechenden Monatsnamen umzuwandeln ( „August“) mit der Funktion date(). Leider gibt der Code „Dezember“ statt „August“ zurück. Dies liegt daran, dass $monthNum mit einer führenden Null („08“) aufgefüllt wurde, bevor es an die Funktion strtotime() übergeben wird.

Empfohlene Lösung mit DateTime-Objekten

Für eine genaue und aktuelle Datums-/Uhrzeitmanipulation wird dringend empfohlen, DateTime-Objekte zu verwenden. Hier ist eine verbesserte Version Ihres Codes mit der DateTime-Klasse:

<code class="php">$monthNum  = 8;
$dateObj   = DateTime::createFromFormat('!m', $monthNum);
$monthName = $dateObj->format('F'); // August</code>

Alternative Lösung für ältere PHP-Versionen

Wenn Sie keine DateTime-Objekte verwenden können, können Sie eine erstellen Erstellen Sie einen Zeitstempel mit der Funktion mktime() und übergeben Sie ihn an die Funktion date():

<code class="php">$monthNum  = 8;
$monthName = date('F', mktime(0, 0, 0, $monthNum, 10)); // August</code>

Hier erstellt mktime(0, 0, 0, $monthNum, 10) einen Zeitstempel, der den 10. Tag des darstellt angegebenen Monat. Der Formatbezeichner „F“ für date() gibt den vollständigen Monatsnamen zurück.

Das obige ist der detaillierte Inhalt vonWarum gibt mein PHP-Code „Dezember' statt „August' zurück, wenn ich eine Monatszahl in ihren Namen umwandele?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn