Rumah >pangkalan data >tutorial mysql >Mengapa kod PHP saya memaparkan tarikh ISO 8601 yang salah?

Mengapa kod PHP saya memaparkan tarikh ISO 8601 yang salah?

Linda Hamilton
Linda Hamiltonasal
2024-11-10 17:58:02848semak imbas

Why is my PHP code displaying an incorrect ISO 8601 date?

Paparan Tarikh ISO 8601 Salah menggunakan PHP

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

Hujah Salah Dikenalpasti

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.

Penyelesaian: Menukar Cap Masa Pangkalan Data

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!

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