用户友好倒计时至午夜

时间:2013-01-30 21:18:22

标签: php time

我有一个在午夜运行的cron作业,它会重置当天的所有用户限制。我希望向用户显示Your limits reset in 1 hour 14 minutes的内容。基本上倒计时到午夜(服务器时间)。

目前我正在使用它来寻找午夜:

strtotime('tomorrow 00:00:00');

返回午夜翻身的时间戳,但我不知道如何显示用户友好的倒计时。有没有一个PHP库,如果没有库,这很容易吗?

3 个答案:

答案 0 :(得分:5)

只需这样就可以给你留下分钟;

$x = time();
$y = strtotime('tomorrow 00:00:00');
$result = floor(($y - $x) / 60);

但您需要过滤$result;

if ($result < 60) {
    printf("Your limits rest in %d minutes", $result % 60);
} else if ($result >= 60) {
    printf("Your limits rest in %d hours %d minutes", floor($result / 60), $result % 60);
}

答案 1 :(得分:3)

由于你正在寻找一个粗略的估计,你可以省去秒。

$seconds = strtotime('tomorrow 00:00:00') - now();
$hours = $seconds % 3600;
$seconds = $seconds - $hours * 3600;
$minutes = $seconds % 60;
$seconds = $seconds - $minutes *60;

echo "Your limit will reset in $hours hours, $minutes minutes, $seconds seconds.";

答案 2 :(得分:2)

这很简单,只需要一点点数学,然后找出当时和现在之间的差异。

// find the difference in seconds between then and now
$seconds = strtotime('tomorrow 00:00:00') - time(); 
$hours = floor($seconds / 60 / 60);   // calculate number of hours
$minutes = floor($seconds / 60) % 60; // and how many minutes is that?
echo "Your limits rest in $hours hours $minutes minutes";