Intereting Posts
конвертировать персидские / арабские цифры на английские номера Преобразование символов с акцентом в их простые эквиваленты ascii Можно ли смешивать API MySQL в PHP? Регистрационный код PHP Как отправлять электронные письма в больших количествах с помощью PHP-скрипта и cronjobs Зависимый выпадающий PHP Symfony2 – проверка не работает для встроенного типа формы Как отправить данные файла в качестве параметра post в почтовом вызове BuzzBrowser Алгоритм сортировки: итоговые суммы погашения Magento отсортированы неправильно, что приводит к неправильному исчислению налога на отправку openssl_random_pseudo_bytes () медленный (PHP) Curl в разных версиях PHP: один работает, другой – нет Убедитесь, что страница возврата PayPal поступает из Paypal Что происходит, когда я отправляю логическое значение True-False в инструкцию PDO в качестве параметра, связанного с полем int? Ограничение количества символов, отображаемых в ячейке таблицы Как удалить тег элемента из URL-адреса в форме контакта 7?

PHP добавляет 45 минут к времени с помощью Loop

Я готовлю сценарий встречи для входа в часы начала и окончания работы, например, с 09:00 до 20:00, а каждый период посещения – 45 минут.

Я хочу добавить 45 минут от времени начала до конца в цикле. Но с образцами в Интернете я не мог этого сделать.

Время посещения – динамическое, я имею в виду, что он может быть 09: 00-20: 00 или 11: 00-23: 00 и т. Д.

Точное решение, которое я пытаюсь сделать, это:

$visit_start = '09:00'; $visit_end = '20:00'; $difference = $visit_end - $visit_start; $i = 1; while( $i <= $difference ) { print $visit_hour_list = $visit_start + 45; $i++; } 

и распечатка будет выглядеть так:

 09:00 09:45 10:30 11:15 12:00 

до конца час. Но я понятия не имею, как это могло бы работать.

Как уже ответил в аналогичном вопросе «Как я могу получить диапазон дат в php?» , вы можете использовать класс DatePeriod в PHP для DatePeriod в течение 45 минут времени между началом и временем окончания:

Демо :

 <?php /** * PHP add 45 Minutes to a Time with Loop * * @link https://stackoverflow.com/a/19399907/367456 */ $begin = new DateTime("09:00"); $end = new DateTime("20:00"); $interval = DateInterval::createFromDateString('45 min'); $times = new DatePeriod($begin, $interval, $end); foreach ($times as $time) { echo $time->format('H:i'), '-', $time->add($interval)->format('H:i'), "\n" ; } 

Вывод:

 09:00-09:45 09:45-10:30 10:30-11:15 11:15-12:00 12:00-12:45 12:45-13:30 13:30-14:15 14:15-15:00 15:00-15:45 15:45-16:30 16:30-17:15 17:15-18:00 18:00-18:45 18:45-19:30 19:30-20:15