无法获得两个日期之间的时差

时间:2015-09-15 07:59:03

标签: php date datetime

我想找到到期日和今天的日期之间的时差,但我的代码不起作用。

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

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

2 个答案:

答案 0 :(得分: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方法

答案 1 :(得分:0)

尝试:

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

因此,当您将diff函数应用于DateTime对象时 - >你收到一个DateInterval对象。要访问有关日期之间总差异的属性,您应该应用称为格式的方法。