Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Membandingkan Tarikh dengan Format 'd_m_y' Tersuai dalam PHP?

Bagaimana untuk Membandingkan Tarikh dengan Format 'd_m_y' Tersuai dalam PHP?

DDD
DDDasal
2024-12-29 16:31:11457semak imbas

How to Compare Dates with a Custom 'd_m_y' Format in PHP?

Membandingkan Tarikh dalam PHP dengan Format Tersuai

Soalan:

Bagaimanakah saya boleh membandingkan dua tarikh dalam PHP yang diformatkan sebagai '03_01_12' dan '31_12_11'?

Percubaan 1:

Kod yang disediakan:

$date1 = date('d_m_y');
$date2 = '31_12_11';
if (strtotime($date1) < strtotime($date2))
    echo '1 is small ='.strtotime($date1), ','.$date1;
else
    echo '2 is small ='.strtotime($date2), ','.$date2;

Penjelasan:

Kod di atas cuba membandingkan tarikh menggunakan fungsi strtotime(), tetapi ia tidak berfungsi kerana ia menggunakan format tarikh lalai sistem untuk penukaran, yang bukan format tersuai yang digunakan dalam tarikh tersebut rentetan.

Jawapan:

Untuk membandingkan tarikh dengan betul dengan format tersuai yang diberikan, anda boleh menggunakan kaedah DateTime::createFromFormat(). Berikut ialah contoh kod yang diubah suai:

$format = "d_m_y";
$date1  = \DateTime::createFromFormat($format, "03_01_12");
$date2  = \DateTime::createFromFormat($format, "31_12_11");

var_dump($date1 > $date2);

Dalam kod ini:

  • Pembolehubah $format mentakrifkan format tarikh tersuai yang digunakan dalam rentetan tarikh.
  • DateTime ::createFromFormat(...) mencipta dua objek DateTime daripada rentetan tarikh menggunakan yang ditentukan format.
  • The > operator membandingkan objek DateTime berdasarkan cap masanya, yang ditukar secara automatik kepada format yang sama.
  • Fungsi var_dump() mengeluarkan hasil perbandingan dalam format yang boleh dibaca manusia.

Atas ialah kandungan terperinci Bagaimana untuk Membandingkan Tarikh dengan Format 'd_m_y' Tersuai dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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