我正在做一个网站,我需要计算剩下的时间。时间()和$ endTime单独正常工作但这个计算似乎不起作用 (它总是显示02:00:00):
$timeLeft = date('H:i:s',max(($endTime - time()) , 0));
问题出在哪里?
编辑: $ endTime = 1296727200
答案 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