【发布时间】:2011-06-27 23:15:50
【问题描述】:
我有一个$time 变量在未来某个时间设置。采用这种格式2011-02-15 23:19:44。现在我需要以00:00:10这种格式设置剩余时间。
例如,如果 $time 是未来 1 小时 3 分钟 10 秒。格式为01:03:10
【问题讨论】:
-
如果它的 +24 小时差异?
标签: php datetime time timer string-formatting
我有一个$time 变量在未来某个时间设置。采用这种格式2011-02-15 23:19:44。现在我需要以00:00:10这种格式设置剩余时间。
例如,如果 $time 是未来 1 小时 3 分钟 10 秒。格式为01:03:10
【问题讨论】:
标签: php datetime time timer string-formatting
您应该考虑使用 DateTime 和 DateInterval 类。
$futureDate = new DateTime($time);
$currentDate = new DateTime();
$dateDiff = $currentDate->diff($futureDate);
echo $dateDiff->format('%H:%I:%S');
注意:如果差异超过 24 小时,那么您应该查看 %Y-%m-%d 值或总天数的 %a。
如果您想将任何额外的天数显示为 24 小时的倍数,那么:
printf('%d:%s',
$dateDiff->format('%a') * 24 + $dateDiff->format('%H'),
$dateDiff->format('%I:%S')
);
【讨论】:
这与此处讨论的问题基本相同:PHP Time Since Function?
您想要将未来的时间戳与当前时间进行比较...链接问题中的解决方案也适用于这个问题。
【讨论】: