Dalam PHP, pemadanan dua tarikh berjalan dengan lancar apabila ia mempunyai format yang serupa, tetapi apabila dua tarikh mempunyai format yang tidak berkaitan, PHP gagal menganalisis. Dalam artikel ini, kita akan membincangkan senario berbeza perbandingan tarikh dalam PHP. Kami akan mengetahui cara membandingkan tarikh menggunakan kelas DateTime dan fungsi strtotime().
Jika tarikh yang diberikan mempunyai format yang sama, kami boleh menganalisis tarikh ini melalui pengendali perbandingan mudah.
<?php $date1 = "2018-11-24"; $date2 = "2019-03-26"; if ($date1 > $date2) echo "$date1 is latest than $date2"; else echo "$date1 is older than $date2"; ?>
2019-03-26 is latest than 2018-11-24
Di sini kami telah mengisytiharkan dua tarikh $date1 dan $date2 dalam format yang sama. Oleh itu, kami menggunakan operator perbandingan (>) untuk membandingkan tarikh.
Jika tarikh yang diberikan adalah dalam pelbagai format pada masa ini, kita boleh menggunakan fungsi strtotime() untuk menukar tarikh yang diberikan kepada format cap masa UNIX dan menganalisis cap masa angka ini untuk mendapatkan hasil yang diharapkan.
<?php $date1 = "18-03-22"; $date2 = "2017-08-24"; $curtimestamp1 = strtotime($date1); $curtimestamp2 = strtotime($date2); if ($curtimestamp1 > $curtimestamp2) echo "$date1 is latest than $date2"; else echo "$date1 is older than $date2"; ?>
18-03-22 is latest than 2017-08-24
Dalam contoh ini, kami mempunyai dua tarikh yang diwakili dalam format yang berbeza. Oleh itu, kami menukarkannya kepada cap masa UNIX berangka menggunakan fungsi strtotime() yang telah ditetapkan dan kemudian membandingkan cap masa ini menggunakan operator perbandingan yang berbeza untuk mendapatkan hasil yang diingini.
Bandingkan dua tarikh dengan mencipta objek kelas DateTime.
<?php $date1 = new DateTime("18-02-24"); $date2 = new DateTime("2019-03-24"); if ($date1 > $date2) { echo 'datetime1 greater than datetime2'; } if ($date1 < $date2) { echo 'datetime1 lesser than datetime2'; } if ($date1 == $date2) { echo 'datetime2 is equal than datetime1'; } ?>
datetime1 lesser than datetime2
Dalam contoh ini, kami mencipta dua objek DateTime. Untuk membandingkan kedua-dua tarikh ini, kami menggunakan operator perbandingan yang berbeza untuk mendapatkan hasil yang diingini.
Atas ialah kandungan terperinci Perbandingan tarikh dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!