Perbandingan Masa PHP: Panduan Terperinci
Membandingkan masa dalam PHP boleh menjadi tugas yang sukar untuk dikuasai. Artikel ini akan memberikan penjelasan menyeluruh tentang cara membandingkan masa dengan berkesan menggunakan pelbagai kaedah.
Batasan Penyelesaian Semasa
Coretan kod yang disediakan dalam soalan, tempat anda cuba untuk bandingkan $NowisTime dengan $ThatTime, gagal kerana perbandingan adalah antara rentetan. Perbandingan rentetan PHP tidak mengambil kira perbezaan masa dengan betul.
Penyelesaian Menggunakan Setem Masa
Satu pendekatan yang boleh dipercayai ialah menukar kedua-dua masa kepada setem masa menggunakan mktime() atau strtotime () dan kemudian melakukan perbandingan berangka. Kod yang disemak berikut menunjukkan perkara ini:
$ThatTime = "14:08:10"; if (time() >= strtotime($ThatTime)) { echo "ok"; }
Dalam kes ini, time() mengembalikan setem masa semasa dan strtotime() menukar $ThatTime menjadi setem masa. Perbandingannya kini mudah dan tepat.
Penyelesaian Menggunakan DateTime (dengan Kesedaran Zon Waktu)
Kelas DateTime PHP membolehkan perbandingan masa yang lebih canggih yang merangkumi zon waktu. Begini cara anda boleh menggunakannya:
$dateTime = new DateTime($ThatTime); if ($dateTime->diff(new DateTime)->format('%R') == '+') { echo "OK"; }
Kaedah diff() mengira perbezaan antara dua objek DateTime dan kaedah format() mengembalikannya dalam format tertentu, seperti '%R' di sini untuk menunjukkan perbezaan positif atau negatif.
Atas ialah kandungan terperinci Cara Membandingkan Masa dalam PHP: Panduan Komprehensif. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!