Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapakah kod PHP saya mengembalikan "Disember" dan bukannya "Ogos" apabila menukar nombor bulan kepada namanya?

Mengapakah kod PHP saya mengembalikan "Disember" dan bukannya "Ogos" apabila menukar nombor bulan kepada namanya?

Patricia Arquette
Patricia Arquetteasal
2024-11-06 08:44:02807semak imbas

Why does my PHP code return

Tukar Nombor kepada Nama Bulan dalam PHP

Kod PHP anda cuba menukar nombor bulan (8) kepada nama bulan yang sepadan ( "Ogos") menggunakan fungsi date(). Malangnya, kod itu mengembalikan "Disember" dan bukannya "Ogos". Ini kerana $monthNum telah dipadatkan dengan sifar pendahuluan ("08") sebelum dihantar ke fungsi strtotime().

Penyelesaian Disyorkan Menggunakan Objek DateTime

Untuk manipulasi tarikh/masa yang tepat dan terkini, adalah sangat disyorkan untuk menggunakan objek DateTime. Berikut ialah versi kod anda yang dipertingkat menggunakan kelas DateTime:

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

Penyelesaian Alternatif untuk Versi PHP Lama

Jika anda tidak boleh menggunakan objek DateTime, anda boleh mencipta cap waktu menggunakan fungsi mktime() dan hantarkannya ke fungsi date():

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

Di sini, mktime(0, 0, 0, $monthNum, 10) mencipta cap waktu yang mewakili hari ke-10 bulan yang diberikan. Penentu format 'F' untuk date() mengembalikan nama bulan penuh.

Atas ialah kandungan terperinci Mengapakah kod PHP saya mengembalikan "Disember" dan bukannya "Ogos" apabila menukar nombor bulan kepada namanya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn