Intereting Posts
Странное поведение с isset (), возвращающее true для Array Key, который НЕ существует Как добавить все значения массива в PHP? Массив как переменная сеанса Загрузите данные двоичного потока из браузера с помощью PHP с веб-службой «загруженный файл поврежден» CakePHP 2.0 Выберите форму, выбранную Mulitple вызывающий узел и uglifyjs из контекста Php Как разрешить выделение жирным шрифтом, подчеркивание и курсив в текстовой области Вызов конкретной функции PHP в форме submit Laravel, мне нужно несколько таблиц базы данных для голосования на разных моделях Регулярное выражение для медиа-запросов в CSS Как получить адресное местоположение из широты и долготы в Google Map.? PHP-сессии не работают для игры PHP – убить exec при отключении клиента Нужно ли использовать HTML-очиститель, если я удаляю теги / конвертируя их в объекты HTML? Как добавить легенду в php mysql ChartJs

время нарастания 15 минут в цикле

Я хочу создать выпадающее меню, которое будет занимать текущее время в качестве времени начала и закончится до 24 часов, например, до 24 часов, поэтому между ними будет отображаться время каждые 15 минут. Проблема в том, что когда я пытаюсь запустить время начала цикла, все в порядке, но со следующим циклом время перепрыгивает на 6 часов.

Вот мой код:

$current_time = date('h:i A'); $end_hour = date("+24 hours", $current_time); echo "<option>" . $current_time . "</option>"; for($i = 0; $i <= 96; $i++) { echo "<option>" . date("h:i A", $tNow) . "</option>"; $tNow = strtotime('+15 minutes',$current_time); } 

Выход ожидается в 11:08 PM 16:00 16:15 16:30

И так далее.

Вы можете использовать DateTime для этого:

 $now = new DateTime(); $end = clone $now; $end->modify("+24 hours"); while ($now <= $end) { echo "<option>" . $now->format('h:i A'). "</option>"; $now->modify('+15 minutes'); } 

есть пара вещей. Сначала на первой строке отсутствует второй параметр. Затем вы используете $ tNow undefined.

 $current_time = date('h:i A', time()); $end_hour = date("+24 hours", strtotime($current_time)); $tNow = strtotime($current_time); echo "<option>" . $current_time . "</option>"; for($i = 0; $i <= 96; $i++) { echo "<option>" . date("h:i A", $tNow) . "</option>"; $tNow = strtotime('+15 minutes', $tNow); }