DEV Community

Morcos Gad
Morcos Gad

Posted on

Generate Intervals of Time - laravel

Let's get started quickly. I found This article :- https://laravel-news.com/laravel-hours-helper that explains the use of Laravel Hours Helper and wanted to share this fun with you.
With the Laravel Hours Helper package :-https://github.com/Label84/laravel-hours-helper
you can create a collection of dates and/of times with a specific interval (in minutes) for a particular period.

use Facades\Label84\HoursHelper\HoursHelper;

$hours = HoursHelper::create('08:00', '09:30', 30);
/*
=> Illuminate\Support\Collection {#3529
       all: [
           "08:00",
           "08:30",
           "09:00",
           "09:30",
       ],
   }
*/
Enter fullscreen mode Exit fullscreen mode

This helper could be useful in generating dropdown selections for a calendar meeting invite or scheduling the duration of an event. This helper also allows you to define the date formatting for each interval of time

$hours = HoursHelper::create('11:00', '13:00', 60, 'g:i A');
/*
Illuminate\Support\Collection {#3528
    all: [
        "11:00 AM",
        "12:00 PM",
        "1:00 PM",
    ],
}
*/
Enter fullscreen mode Exit fullscreen mode

this helper can deal with intervals past midnight (i.e., the next day) and over multiple days

HoursHelper::create(
    '2021-01-01 22:00',
    '2021-01-03 13:00',
    60,
    'Y-m-d H:i'
);
/*
Illuminate\Support\Collection {#3566
    all: [
        "2021-01-01 22:00",
        "2021-01-01 23:00",
        "2021-01-02 00:00",
        "2021-01-02 01:00",
        "2021-01-02 02:00",
        ...
    ]
}
*/
Enter fullscreen mode Exit fullscreen mode

I hope you enjoyed the code.

Top comments (0)