Apabila cuba memaparkan masa tarikh sebagai rentetan berformat ISO 8601, pengguna mungkin menghadapi output yang salah. Khususnya, cap masa seperti "17 Okt 2008" tersalah dipaparkan sebagai "1969-12-31T18:33:28-06:00."
Isu utama terletak pada struktur daripada kod yang disediakan:
<?php echo date("c", $post[3]); ?>
Di sini, hujah kedua fungsi date() ialah $post[3], yang mewakili rentetan cap waktu pangkalan data. Walau bagaimanapun, fungsi date() menjangkakan cap masa UNIX sebagai hujah kedua.
Untuk membetulkannya, anda perlu menukar cap masa pangkalan data anda kepada cap masa UNIX menggunakan fungsi strtotime(). Kod yang diperbetulkan menjadi:
<?php echo date("c", strtotime($post[3])); ?>
Dengan memasukkan perubahan ini, rentetan berformat ISO 8601 yang betul akan dijana, menyelesaikan isu paparan yang salah.
Atas ialah kandungan terperinci Mengapa kod PHP saya memaparkan tarikh ISO 8601 yang salah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!