SORU
7 HAZİRAN 2009, Pazar


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:

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
7 HAZİRAN 2009, Pazar


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:~#

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jonathan D.

    Jonathan D.

    3 Kasım 2006
  • ShoSho

    ShoSho

    20 Ocak 2010
  • Tech4Geeks

    Tech4Geeks

    8 Ocak 2012