2015-09-15 92 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

我如何在小时显示它分钟和秒......即将日期转换为小时分钟秒 –