Laravel 5.6 Время начала Время окончания Время - PullRequest
0 голосов
/ 09 сентября 2018

Я пытаюсь сделать функцию в Laravel 5.6

У меня есть переменные $start_time, $end_time и $duration.

Я хотел бы получить временные интервалы от времени начала до времени окончания, в $duration периодах, например:

$duration = 30 min     
$start_time = 9:00 am
$end_time = 9:00 pm

Результаты:

-9: 00 - 9: 30
-9: 30–10: 00
-10: 00 - 10: 30
.... и т. д.

Кроме того, я бы не хотел показывать слот, где время совпадает с встречами в моей базе данных.

Ответы [ 2 ]

0 голосов
/ 09 сентября 2018
    $starttime = '9:00';  // your start time
    $endtime = '21:00';  // End time
    $duration = '30';  // split by 30 mins

    $array_of_time = array ();
    $start_time    = strtotime ($starttime); //change to strtotime
    $end_time      = strtotime ($endtime); //change to strtotime

    $add_mins  = $duration * 60;

    while ($start_time <= $end_time) // loop between time
    {
       $array_of_time[] = date ("h:i", $start_time);
       $start_time += $add_mins; // to check endtie=me
    }

    $new_array_of_time = array ();
    for($i = 0; $i < count($array_of_time) - 1; $i++)
    {
        $new_array_of_time[] = '' . $array_of_time[$i] . ' - ' . $array_of_time[$i + 1];
    }
0 голосов
/ 09 сентября 2018

Если вы используете 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...