我需要计算直到特定日期/时间的剩余时间(天/小时)。
但是,我没有使用静态日期。
想象一下,我在每周日每周日17:00举办活动。我需要显示直到下一个事件的剩余时间,即即将到来的星期日17:00。
我在answer中找到了以下代码。它适用于静态日期/时间,但显然不是我想要的。
$now = new DateTime();
$future_date = new DateTime('2011-05-11 12:00:00');
$interval = $future_date->diff($now);
echo $interval->format("%d days, %h hours, %i minutes, %s seconds");
感谢您的时间。
答案 0 :(得分:9)
您可以使用相对时间格式next Sunday 17:00
。像这样:
$now = new DateTime();
$future_date = new DateTime('next Sunday 17:00');
$interval = $future_date->diff($now);
echo $interval->format("%d days, %h hours, %i minutes, %s seconds");
输出:
6 days, 2 hours, 33 minutes, 53 seconds
在此处详细了解相对时间格式:http://www.php.net/manual/en/datetime.formats.relative.php