Dalam skrip PHP, anda menghadapi isu semasa menukar tarikh yang diluluskan melalui URL daripada "dd/mm/yyyy " kepada format "YYYY-MM-DD".
Apabila menggunakan strtotime() untuk menghuraikan tarikh, adalah penting untuk memastikan format datetime yang sah. Format "dd/mm/yyyy" yang anda gunakan ditafsirkan sebagai format AS, dengan dua digit pertama menunjukkan bulan, diikuti dengan hari dan tahun.
Walau bagaimanapun, apabila anda melepasi tarikh yang boleh samar-samar (cth., 04/12/2017 atau 12/04/2017), strtotime() mungkin memberikan hasil yang tidak dijangka kerana mengandaikan bulan datang dahulu.
Untuk mengelakkan isu ini, disyorkan untuk menggunakan DateTime:: createFromFormat() untuk menghuraikan tarikh dan mengembalikan objek DateTime(). Objek ini membenarkan anda menukar tarikh kepada format yang berbeza atau mendapatkan cap masa Unix.
Dalam kes anda, kod berikut akan berjaya menukar tarikh:
<code class="php">$date = DateTime::createFromFormat('m/d/Y', '20/02/2000'); $D->query = $date->format('Y-m-d'); // Outputs: 2000-02-20</code>
Selain itu, berikut adalah beberapa petua untuk mengelakkan isu yang sama:
Atas ialah kandungan terperinci Bagaimana untuk Menukar Tarikh 'dd/mm/yyyy' dalam URL PHP kepada Format 'YYYY-MM-DD'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!