Если вы используете Laravel, есть зависимость от времени и дат, называемая Carbon, я уверен, что вы слышали.
все, что вам нужно сделать, это импортировать его так:
use Carbon\Carbon;
Тогда мы можем увидеть, что мы будем делать с помощью этой зависимости, мы просто создадим время, а затем добавим к нему минуты в соответствии с продолжительностью, что вы и хотите.
$start_time = Carbon::createFromTime(9, 0, 0); // hours, minutes, seconds
$end_time = Carbon::createFromTime(21, 0, 0);
$time = $start_time;
$time_slots = array();
while($time < $end_time){
$time = $time->addMinutes(30);
$time_slots[] = $time;
}
В этом массиве будут временные интервалы, которые вы хотите, и вы можете манипулировать ими как угодно.
Вы также можете посмотреть по этим ссылкам ниже:
Документация: https://github.com/briannesbitt/Carbon
Строковые форматы для Carbon: http://carbon.nesbot.com/docs/#api-formatting