Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menukar Tarikh PHP ke MySQL DATE dan DATETIME Format?

Bagaimana untuk Menukar Tarikh PHP ke MySQL DATE dan DATETIME Format?

Linda Hamilton
Lepaskan: 2024-11-29 13:14:10
asal
811 orang telah melayarinya

How to Convert PHP Dates to MySQL DATE and DATETIME Formats?

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']);
Salin selepas log masuk

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)));
Salin selepas log masuk

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)));
Salin selepas log masuk

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);
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan