Rumah >pembangunan bahagian belakang >tutorial php >Mengapa `strtotime()` Gagal dengan dd/mm/YYYY dan Bagaimana Saya Boleh Membetulkannya?

Mengapa `strtotime()` Gagal dengan dd/mm/YYYY dan Bagaimana Saya Boleh Membetulkannya?

Susan Sarandon
Susan Sarandonasal
2024-12-29 07:18:11172semak imbas

Why Does `strtotime()` Fail with dd/mm/YYYY and How Can I Fix It?

strtotime() Bergelut dengan Format dd/mm/YYYY

Apabila bekerja dengan thestrtotime()fungsi, adalah penting untuk mengetahuinya had format tarikh. Walaupun ia menyokong pelbagai format, ia goyah apabila berurusan dengan format dd/mm/YYYY.

Penyelesaian: Tukar dd/mm/YYYY kepada YYYY-mm-dd

Untuk menyelesaikan isu ini dan menukar tarikh dalam format dd/mm/YYYY kepada YYYY-mm-dd, pertimbangkan kaedah ringkas berikut:

$date = '25/05/2010';
$date = str_replace('/', '-', $date);
echo date('Y-m-d', strtotime($date));

Output:

2010-05-25

strtotime() Dokumentasi

Mengikut thestrtotime ()dokumentasi, tarikh dalam format m/h/y atau d-m-y adalah ditafsirkan berdasarkan pemisah yang digunakan. Jika pemisah ialah garis miring (/), format m/d/y Amerika diandaikan. Jika pemisah ialah sengkang (-) atau titik (.), format d-m-y Eropah diandaikan.

Dalam kes kami, memandangkan dd/mm/YYYY menggunakan sengkang sebagai pemisah, ia tidak mematuhi kepada sama ada format yang disokong. Oleh itu, langkah penukaran menggunakan str_replace() diperlukan untuk menukar tarikh kepada format d-m-y yang diterima sebelum menggunakan strtotime().

Atas ialah kandungan terperinci Mengapa `strtotime()` Gagal dengan dd/mm/YYYY dan Bagaimana Saya Boleh Membetulkannya?. 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