2015-09-15 121 views
-3

我想查找到期日期和今天的日期之間的時間差,但我的代碼不起作用。無法獲取兩個日期之間的時間差

$time_one=DateTime::createFromFormat('d/m/Y', get_field('expirydate')); 
$time_two=new DateTime(); 

$timeleft = $time_one->diff($time_two); 
echo $timeleft; 
+0

你從DateTime :: diff()返回一個['DateInterval'](http://php.net/manual/en/class.dateinterval.php)' – Rizier123

回答

0

嘗試:

echo $timeleft->format('%a days'); 

所以,當你申請diff函數添加到DateTime對象 - >您收到一個DateInterval對象。要訪問日期之間總體差異的屬性,應使用稱爲格式的方法。

+0

當您將差異函數應用於DateTime對象時 - >您會收到一個DateInterval對象http://php.net/manual/en/datetime.diff.php。要訪問日期之間總差異的屬性,您應該應用稱爲格式的方法。 http://php.net/manual/en/dateinterval.format.php –

0

diff方法返回你一個DateInterval對象。您必須格式化輸出爲了看看有多少天,小時,分鐘,秒依然存在:

$dateTimeInTheFuture = DateTime::createFromFormat('d/m/Y', get_field('expirydate')); 

$dateInterval = $dateTimeInTheFuture->diff(new DateTime()); 

echo 'Time remained until expire: ' . $dateInterval->format('%d days, %h hours, %i minutes, %s seconds'); 

瞭解更多關於DateInterval.format方法

+0

我如何在小時顯示它分鐘和秒......即將日期轉換爲小時分鐘秒 –