2013-09-26 265 views
-3

其實我有兩個datetime對象比較兩個datetime對象

$d1 = new DateTime('04/14/2013 8.00 AM'); 
$d2 = new DateTime('04/14/2013'); 

所以沒有做這2個對象的任何變化。有可能等於這兩個對象。

+0

你的問題不清楚,期望的結果是什麼? – Mario

+0

我需要比較這兩個只使用日期(04/14/2013)而不考慮時間(8.00 AM) – user2047701

回答

0

是的,你可以使用DateTime對象的內置diff方法;

$interval = $d1->diff($2); 

繼承人它的手冊:DateTime::diff

然後得到公正的日子裏,你可以格式化這樣

$interval = $interval->format('%d'); 
1

的間隔內得到兩個日期時間對象之間的差異,使用日期時間: :diff()方法:

$interval = $d1->diff($d2); 

因此,您將得到一個DateInterv對象。要獲得從DateInterval對象,使用格式()方法格式化的時間差,例如:

echo $interval->format('%s seconds'); 

你可以看到比較datetime對象here更多的例子。 另請檢查how to use format() method

0

您可以格式化日期以剝離的時間,如:

if ($d1->format('m/d/Y') == $d2->format('m/d/Y')) 
    echo 'equal'; 
else 
    echo 'not equal'; 

或像這樣:

if (date_format($d1, 'm/d/Y') == date_format($d2, 'm/d/Y')) 
    echo 'equal'; 
else 
    echo 'not equal'; 

中的DATE_FORMAT將把日期格式爲:2013年4月14日

你必須在$ d2上做一個date_format,因爲它真的是'2013-04-14 00:00:00'。