剩下的时间计算不适用于PHP

时间:2011-02-19 16:06:05

标签: php

我正在做一个网站,我需要计算剩下的时间。时间()和$ endTime单独正常工作但这个计算似乎不起作用 (它总是显示02:00:00):

$timeLeft = date('H:i:s',max(($endTime - time()) , 0));

问题出在哪里?

编辑: $ endTime = 1296727200

2 个答案:

答案 0 :(得分:2)

函数date需要时间戳(自1970/1/1以来的秒数)作为参数,而$endTime - time()持续时间 。您可以计算持续时间表示的分钟数和小时数:

$seconds = $endTime - time();
$minutes = $seconds / 60;
$seconds = $seconds - $minutes * 60;
$hours = $minutes / 60;
$minutes = $minutes - $hours * 60;
$timeLeft = sprintf('%02d:%02d:%02d', $hours, $minutes, $seconds);

当然$endTime不应该过去......

答案 1 :(得分:-1)

通过评论找到答案, 问题是$ endTime已经小于time(),然后date(0)= 1970年1月,02:00:00在我的时区所以它将是02:00:00