Input:
$start = new DateTime('2021-09-13 06:00:00');
$end = new DateTime('2021-09-17 15:00:00');
Expected Output:
| Start | End | Hours |
|---|---|---|
| 2021-09-13 06:00:00 | 2021-09-13 15:00:00 | 9 hours |
| 2021-09-14 06:00:00 | 2021-09-14 15:00:00 | 9 hours |
| 2021-09-15 06:00:00 | 2021-09-15 15:00:00 | 9 hours |
| 2021-09-16 06:00:00 | 2021-09-16 15:00:00 | 9 hours |
| 2021-09-17 06:00:00 | 2021-09-17 15:00:00 | 9 hours |
I have tried this as foundation, but not pretty sure it this would meet my expected output.
$interval = DateInterval::createFromDateString('1 day');
$period = new DatePeriod($start, $interval, $end);
foreach ($period as $dt) {
Log::info($dt->format("Y-m-d H:i:s \n"));
}