Всем привет, подскажите пожалуйста как можно вытащить все диапазоны времени из БД? Поясню: Есть онлайн запись на различные услуги, которые пишутся в таблицу visits. Таблица выглядит так: id | userId | dateStart | dateEnd 1 | 31 |2022-07-20 10:00:00|2022-07-20 10:40:00 2 | 28 |2022-07-20 14:20:00|2022-07-20 15:20:00 3 | 74 |2022-07-20 18:00:00|2022-07-20 18:30:00 4 | 27 |2022-07-21 08:00:00|2022-07-20 09:30:00 4 | 89 |2022-07-21 12:10:00|2022-07-20 13:00:00 Запись принимается с 08:00 и заканчивается в 19:00. На вход метода приходит время которое длится услуга (допустим 90 минут). Как можно получить все диапазоны времени свободных окон в которое укладывается длительность услуги? По дням, т.е. с 08:00 до 19:00, 19:00 включительно (принимается последняя запись). В результате нужно что то типа этого: PHP: [ ['2022-07-20'] => [ [ 'dateStart' => '08:00', 'dateEnd' => '09:30' ], [ 'dateStart' => '08:30', 'dateEnd' => '10:00' ], [ 'dateStart' => '10:40', 'dateEnd' => '12:10' ], [ 'dateStart' => '11:00', 'dateEnd' => '12:30' ], [ 'dateStart' => '11:30', 'dateEnd' => '13:00' ], [ 'dateStart' => '12:00', 'dateEnd' => '13:30' ], [ 'dateStart' => '12:30', 'dateEnd' => '14:00' ], [ 'dateStart' => '13:00', 'dateEnd' => '14:30' ], [ 'dateStart' => '15:20', 'dateEnd' => '15:50' ], [ 'dateStart' => '15:30', 'dateEnd' => '17:00' ], [ 'dateStart' => '16:00', 'dateEnd' => '17:30' ], [ 'dateStart' => '16:30', 'dateEnd' => '18:00' ] ] ]
1. Извлечь в массив все занятые промежутки времени, в сортированном виде. Может быть проще будет сразу преобразовать в формат Unix. 2. Пройтись в цикле для извлечения времени окончания одного(или начала рабочего дня) и начала следующего промежутка(или конца рабочего дня).