With laravel-hours-helper you can create an Illuminate\Support\Collection of dates and/or times with a specific interval for a specific period. 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 and to exclude intervals within the specific period.
| Version | Release |
|---|---|
| 12.x | ^1.4 |
| 11.x | ^1.4 |
Install the package via composer:
composer require label84/laravel-hours-helperuse Label84\HoursHelper\Facades\HoursHelper;
$hours = HoursHelper::create('08:00', '09:30', 30);
// Illuminate\Support\Collection
0 => '08:00',
1 => '08:30',
2 => '09:00',
3 => '09:30',use Label84\HoursHelper\Facades\HoursHelper;
$hours = HoursHelper::create('11:00', '13:00', 60, 'g:i A');
// Illuminate\Support\Collection
0 => '11:00 AM',
1 => '12:00 PM',
2 => '1:00 PM',use Label84\HoursHelper\Facades\HoursHelper;
$hours = HoursHelper::create('08:00', '11:00', 60, 'H:i', [
['09:00', '09:59'],
// more..
]);
// Illuminate\Support\Collection
0 => '08:00',
1 => '10:00',
2 => '11:00',use Label84\HoursHelper\Facades\HoursHelper;
$hours = HoursHelper::create('23:00', '01:00', 60);
// Illuminate\Support\Collection
0 => '23:00',
1 => '00:00',
2 => '01:00',use Label84\HoursHelper\Facades\HoursHelper;
$hours = HoursHelper::create('2022-01-01 08:00', '2022-01-01 08:30', 15, 'Y-m-d H:i');
// Illuminate\Support\Collection
0 => '2022-01-01 08:00',
1 => '2022-01-01 08:15',
2 => '2022-01-01 08:30',You can find more examples in the test directory: tests/HoursHelperTest.php
./vendor/bin/phpstan analyze
./vendor/bin/phpunit