我想找到到期日和今天的日期之间的时差,但我的代码不起作用。
$time_one=DateTime::createFromFormat('d/m/Y', get_field('expirydate'));
$time_two=new DateTime();
$timeleft = $time_one->diff($time_two);
echo $timeleft;
答案 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对象。要访问有关日期之间总差异的属性,您应该应用称为格式的方法。