Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Membandingkan Tarikh dengan Boleh Dipercayai dalam PHP, Terutamanya Yang Tidak Berlapik Hari Sifar?

Bagaimana untuk Membandingkan Tarikh dengan Boleh Dipercayai dalam PHP, Terutamanya Yang Tidak Berlapik Hari Sifar?

Linda Hamilton
Linda Hamiltonasal
2024-12-19 11:47:34738semak imbas

How to Reliably Compare Dates in PHP, Especially Those with Non-Zero-Padded Days?

Membandingkan Tarikh dalam PHP: Mengendalikan Hari Tidak Berlapik Sifar

Apabila membandingkan tarikh dalam PHP, adalah penting untuk mempertimbangkan tarikh yang disimpan dalam pangkalan data mungkin tidak mengikut format berlapik sifar (cth., "2011-10-2"). Ini boleh membawa kepada perbandingan yang tidak betul apabila menggunakan operator perbandingan tarikh standard.

Penyelesaian menggunakan strtotime()

Untuk tarikh selepas 1 Januari 1970, anda boleh menggunakan strtotime( PHP ) fungsi untuk membandingkan tarikh:

$today = date("Y-m-d");
$expire = $row->expireDate; //from database

$today_time = strtotime($today);
$expire_time = strtotime($expire);

if ($expire_time < $today_time) { /* do Something */ }

strtotime() menukar rentetan yang mewakili tarikh dan masa ke dalam cap masa UNIX, yang mewakili bilangan saat sejak 1 Januari 1970. Ini membolehkan anda membandingkan tarikh dengan membandingkan cap masa mereka.

Penyelesaian menggunakan Kelas DateTime

Untuk PHP versi 5.2.0 dan ke atas, anda boleh menggunakan kelas DateTime untuk bekerja dengan tarikh:

$today_dt = new DateTime($today);
$expire_dt = new DateTime($expire);

if ($expire_dt < $today_dt) { /* Do something */ }

Kelas DateTime menyediakan set lengkap fungsi untuk bekerja dengan tarikh dan masa, termasuk pengendali perbandingan.

Pertimbangan Lain

  • Jika tarikh anda sebelum 1 Januari 1970, anda perlu menggunakan pendekatan yang berbeza, seperti menggunakan tarikh sebagai rentetan atau menggunakan pustaka pihak ketiga.
  • Sentiasa pastikan format rentetan tarikh dalam pangkalan data dan rentetan tarikh yang anda bandingkan adalah konsisten.

Atas ialah kandungan terperinci Bagaimana untuk Membandingkan Tarikh dengan Boleh Dipercayai dalam PHP, Terutamanya Yang Tidak Berlapik Hari Sifar?. 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