Nasıl PHP 5.2.8 iki DateTime nesneler ile karşılaştırma yapabilirim?
Bu oldukça düz ileri olması gereken bir şey gibi görünüyor, ama burada mahsur kaldımsayfa hatalıbir süredir bu sorun, işte başlıyorum.
PHP belgelerine bir göz olan , DateTime nesne aşağıdaki iki yöntemden hem benim sorunu çözmek gibi görünüyor:
- DateTime::diff : fark, ve o çok daha eski olduğunu belirlemek için kullanabilirsiniz.
- DateTime::getTimestamp : UNİX timestampt Almak ve bunları karşılaştırmak.
Her iki yöntem versiyonu ^ mevcut olarak doco ile işaretlenmiştir . = 5.3 (ve, şaşırtıcı olmayan bir şekilde, eğer onları aramak için çalışırsanız onlar yoklar buluyorum). Eğer benim sürüm eşdeğer yöntemler varsa emin değilim bu yüzden 5.2.8 için herhangi bir özel belge bulamadım. Ben Googled sorun var ve hiçbiri çok basit, ihtiyaçlarına cevap çözümleri, eklektik bir dizi buldu
- Nasıl iki DateTime nesneler ile karşılaştırma yapabilirim?
- Önceki PHP sürümleri için doco bulabilirim? Özellikle sürüm 5.2.8?
Bazı bağlam için aşağıdaki kodu 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 karşılaştırma operatörü vardır.
DÜZENLEME:Görünüşe görebenim varsayım tamamen yanlış (teşekkürler bu kadar etkili bu gösteren Milen). Karşılaştırma operatörü var ve gayet iyi çalışıyor teşekkürler. Bazen gerçekten bir derleyici Bayan. Hata yukarıda, benim yaptığımdan çok daha hızlı bulacaksınız eminim:) kodu.
İleri çözümün basitliğini benim utanç duyuyorum.
EDİT: Ve emin yeterli, utanç gelişir ...
CEVAP
Aşağıdaki DateTime sınıfı için karşılaştırma operatörleri olduğunu onaylamak gibi görünüyor:
dev:~# php
<?php
date_default_timezone_set('Europe/London');
$d1 = new DateTime('2008-08-03 14:52:10');
$d2 = new DateTime('2008-01-03 11:11:10');
var_dump($d1 == $d2);
var_dump($d1 > $d2);
var_dump($d1 < $d2);
?>
bool(false)
bool(true)
bool(false)
dev:~# php -v
PHP 5.2.6-1 lenny3 with Suhosin-Patch 0.9.6.2 (cli) (built: Apr 26 2009 20:09:03)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
dev:~#
Nasıl Python ile büyük / küçük harf du...
Nasıl benim özel nesneler Parcelable o...
Nasıl iki dosya Eclipse kullanarak kar...
Nasıl python iki datetime nesneler ara...
Nasıl iki datetime nesneler arasındaki...