PHP belgelerine bir göz atın, DateTimenesnenin aşağıdaki iki yöntem her ikisi de benim sorunumu çözmek gibi görünüyor:
- DateTime :: diff : Farkı alın ve hangisinin daha eski olduğunu belirlemek için bunu kullanın.
- DateTime :: getTimestamp : UNIX zaman damgasını alın ve bunları karşılaştırın.
Her iki yöntem de doco'da > = 5.3 sürümünde olarak işaretlenmiştir (ve şaşırtıcı bir şekilde, onları aramaya çalışırsam, var olmadığını buluyorum). 5.2.8 için belirli bir belge bulamıyorum, bu yüzden sürümümde eşdeğer yöntemler olup olmadığından emin değilim. Ben var google'dan sorunu ve benim çok basit gereksinimlerini cevap hiçbiri çözümleri, eklektik bir dizi bulundu:
- İki DateTime nesnesini nasıl karşılaştırabilirim?
- Önceki PHP sürümleri için doco'yu nerede bulabilirim? Özellikle sürüm 5.2.8?
Bazı bağlamlar için, aşağıdaki kod var:
$st_dt = new DateTime(verifyParam ('start_date'));
$end_dt = new DateTime(verifyParam ('end_date'));
// is the end date more ancient than the start date?
if ($end_dt < $start_dt)
Görünüşe göre bu adam üzerinde bir karşılaştırma operatörü yok.
Düzenle
Görünüşe göre varsayımlarım tamamen yanlıştı (bunu çok etkili bir şekilde gösterdiği için Milen'e teşekkürler). Bir karşılaştırma operatörü var ve iyi çalışıyor teşekkürler. Bazen bir derleyiciyi gerçekten özlüyorum. Hata yukarıdaki kodda, eminim benden çok daha hızlı bulacaksınız :).
$_POST, yoksa yavru kedi öldürülecektir.