douguaidian8021 2016-03-20 22:37 采纳率: 100%
浏览 39
已采纳

PHP倒数计时器错误[关闭]

Well the problem is when time gets to 23h.00m it glitches and counts 1 hour until 00h.00m and then again works fine.
Can I stop timer from 23h:00m - 00h:00m and then start again?
Or after 23.00 make it go again from 23h.59m.59s?

date_default_timezone_set('Europe/Tallinn');
$now = new DateTime();

$future_date = new DateTime('23:00:00');

$interval = $future_date->diff($now);

echo $interval->format("%h hours, %i minutes, %s seconds");
  • 写回答

1条回答 默认 最新

  • douli1306 2016-03-20 22:58
    关注

    Here's what you could do: check when the date (now) is greater than the future date, and if so, add one day to that future date

    Code:

    $now = new DateTime();
    
    $future_date = new DateTime('23:00:00');
    if ($now > $future_date) {
        $future_date->modify('+1 day');
    }
    
    $interval = $future_date->diff($now, false);
    echo $interval->format("%h hours, %i minutes, %s seconds");
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?