date — ошибка таймера обратного отсчета PHP

Ну, проблема в том, что когда время достигает 23:00, оно глючит и считает 1 час до 00:00, а затем снова работает нормально.
Могу ли я остановить таймер с 23:00 до 00:00 и начать снова?
Или после 23.00 сделать это снова с 23ч.59м.59с?

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");

0

Решение

Вот что вы могли бы сделать:
проверить, когда дата (сейчас) больше будущей, и если да, добавить один день к этой будущей дате

Код:

$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");
2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector