Menukar Tarikh PHP kepada Format MySQL
Dalam PHP, adalah perkara biasa untuk menemui medan tarikh dalam format yang digunakan dalam kod anda:
$date = mysql_real_escape_string($_POST['intake_date']);
Walau bagaimanapun, apabila bekerja dengan MySQL, selalunya perlu menukar tarikh ini kepada format MySQL bagi "0000-00-00" untuk kemasukan pangkalan data. Walaupun beberapa variasi tarikh('Y-m-d' strtotime($date);) mungkin terlintas di fikiran, adalah penting untuk menangani kerumitan khusus yang terlibat dalam penukaran ini.
1. Mengendalikan Jenis Lajur MySQL
Jika lajur MySQL anda daripada jenis DATE, menunjukkan hanya tarikh tanpa masa, kaedah penukaran yang disyorkan ialah:
$date = date('Y-m-d', strtotime(str_replace('-', '/', $date)));
Ini menggantikan sempang " -" dalam rentetan tarikh dengan garis miring ke hadapan "/" sebelum menggunakan fungsi strtotime(). Jika tidak, strtotime() akan cuba menolak nombor yang dipisahkan oleh tanda sempang, yang membawa kepada keputusan yang salah.
2. Penukaran untuk Jenis DATETIME
Jika lajur MySQL anda daripada jenis DATETIME, yang merangkumi kedua-dua komponen tarikh dan masa, gunakan penukaran berikut:
$date = date('Y-m-d H:i:s', strtotime(str_replace('-', '/', $date)));
Di sini, kami mematuhi kepada prinsip yang sama untuk menggantikan "-" dengan "/", tetapi kami juga menyertakan pemformatan tambahan untuk komponen masa.
3. Pendekatan Alternatif untuk Format Kompleks
Sekiranya tarikh anda dalam format yang tidak serasi dengan kedua-dua fungsi strtotime() dan date(), seperti "02/07/2009 00:07:00" , anda boleh memilih penukaran berasaskan ungkapan biasa:
$date = '02/07/2009 00:07:00'; $date = preg_replace('#(\d{2})/(\d{2})/(\d{4})\s(.*)#', '-- ', $date);
Rex ini menyusun semula komponen tarikh ke dalam format MySQL yang diperlukan, memastikan medan tarikh PHP anda ditukar dengan sewajarnya untuk dimasukkan ke dalam pangkalan data.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Tarikh PHP ke MySQL DATE dan DATETIME Format?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!