格式化datetime(0000-00-00 00:00:00)到00:00:00,剩余时间

时间:2011-02-15 22:24:14

标签: php datetime time timer string-formatting

我将来会设置一个$time变量。采用此格式2011-02-15 23:19:44。现在我需要以这种格式00:00:10设置剩余时间。

例如,如果$ time是将来1小时3分10秒。格式为01:03:10

2 个答案:

答案 0 :(得分:1)

您应该查看使用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')
);

答案 1 :(得分:0)

这与此处讨论的问题基本相同:PHP Time Since Function?

您希望将未来的时间戳与当前时间进行比较...链接问题中的解决方案也适用于此问题。