strtotime() Tidak serasi dengan Format dd/mm/YYYY
Fungsi strtotime() serba boleh menawarkan cara yang cekap untuk menukar tarikh kepada Unix cap masa. Walau bagaimanapun, dokumentasinya tidak mempunyai butiran komprehensif tentang format tarikh yang disokong. Walaupun fungsi menerima format mm/dd/YYYY, ia gagal mengenali rakan sejawatannya, dd/mm/YYYY.
Untuk mengatasi had ini, kami mencari penyelesaian alternatif untuk menukar tarikh dalam format dd/mm/YYYY kepada YYYY-mm-dd, tanpa menggunakan fungsi explode().
Diringkaskan Penyelesaian:
$date = '25/05/2010'; $date = str_replace('/', '-', $date); echo date('Y-m-d', strtotime($date));
Output:
2010-05-25
Penjelasan:
Pendekatan ini memanfaatkan str_replace () berfungsi untuk menggantikan garis miring ke hadapan (/) dalam rentetan tarikh asal dengan sempang (-), menjadikannya serasi dengan fungsi strtotime(). Penggunaan tarikh('Y-m-d', ...) seterusnya memastikan tarikh yang ditukar diformatkan dalam format YYYY-mm-dd yang dikehendaki.
strtotime() Penjelasan Dokumentasi:
Dokumentasi strtotime() menyatakan bahawa tarikh dalam "m/h/y" atau Format "d-m-y" ditafsirkan berdasarkan pemisah yang digunakan. Jika sengkang("/") muncul, format "m/d/y" Amerika diandaikan, manakala sengkang("-") atau titik(".") menunjukkan format "d-m-y" Eropah.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Tarikh dd/mm/YYYY kepada YYYY-mm-dd Tanpa explode()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!