【发布时间】:2016-02-13 01:47:40
【问题描述】:
我正在使用下面的代码来报告帖子在我的 Wordpress 网站中过期所需的时间,即我在自定义字段中定义的过期值(过期)。
从这段代码中,我保留了一个将在大约四个小时后过期的帖子,不会以这种方式显示信息:“Expires in 0 days, 4 hours and 49 minutes.”
我不想显示“0 天”,只显示剩余的小时数。在帖子第二天过期的情况下,太好了,可以正常显示“1天4小时49分钟过期”。
另外,还有一些帖子我没有定义过期,都出现如下信息:“Expires in 0 days, 2 hours and 0 minutes。”如何为这些帖子显示“未确定过期”等信息?
<?php
$date_now = date( 'm/d/Y H:i:s', current_time( 'timestamp', 0 ) );
$date_expire = get_field('expiration');
$now = new DateTime($date_now);
$expires = new DateTime($date_expire);
$diff = $expires->diff($now)->format("%a days, %h hours and %i minutes");
if ($now < $expires) {
echo "Expires em $diff", PHP_EOL;
}
else if ($now >= $expires) {
echo "Expired!", PHP_EOL;
}
else {
echo "", PHP_EOL;
}
?>
【问题讨论】: