Membandingkan Tarikh dalam PHP: Mengendalikan Tarikh dengan Sifar Padding Hilang
Dalam PHP, membandingkan tarikh boleh mencabar apabila pangkalan data menyimpan tarikh tanpa sifar -padding untuk hari di bawah 10. Untuk menangani isu ini, beberapa pendekatan boleh bekerja:
Menggunakan strtotime dan Membandingkan Cap Masa Integer
Jika tarikh anda sentiasa jatuh selepas 1 Januari 1970, anda boleh menggunakan fungsi strtotime untuk menukar kedua-dua tarikh kepada cap masa integer . Cap masa ini kemudiannya boleh dibandingkan:
<?php $today = date("Y-m-d"); $expire = $row->expireDate; // from the database $today_time = strtotime($today); $expire_time = strtotime($expire); if ($expire_time < $today_time) { /* Do something */ } ?>
Memanfaatkan Kelas DateTime (PHP 5.2.0 )
Untuk lebih fleksibiliti dan sokongan untuk format tarikh yang lebih kompleks, pertimbangkan menggunakan DateTime kelas:
<?php $today_dt = new DateTime($today); $expire_dt = new DateTime($expire); if ($expire_dt < $today_dt) { /* Do something */ } ?>
Nota:
Pastikan tarikh yang disimpan dalam pangkalan data adalah konsisten dengan format yang dijangkakan. Dalam kes ini, formatnya ialah "Y-m-d" tanpa padding sifar untuk hari di bawah 10.
Atas ialah kandungan terperinci Bagaimana untuk Membandingkan Tarikh dalam PHP Apabila Hari Kekurangan Sifar-Padding?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!