<?php
$start = new DateTimeImmutable('2019-01-01 13:00:00');
$end = new DateTimeImmutable('2019-01-01 14:30:01'); //NOTE 30:01
$interval = new DateInterval('PT1H');
foreach(new DatePeriod($start, $interval, $end) as $date) {
echo $date->format('r') . \PHP_EOL; //NOTE: 00:00 and not 30:01
}
echo \PHP_EOL;
echo 'Sanitized:' . PHP_EOL;
$startState = $start->setTime($start->format('H'), 0);
$endState = $end->setTime($end->format('H'), 0);
foreach(new DatePeriod($startState, $interval, $endState) as $date) {
echo $date->format('r') . \PHP_EOL;
}
- Output for 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.31, 7.4.0 - 7.4.33, 8.0.0 - 8.0.12, 8.0.14 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- Tue, 01 Jan 2019 13:00:00 +0100
Tue, 01 Jan 2019 14:00:00 +0100
Sanitized:
Tue, 01 Jan 2019 13:00:00 +0100
- Output for 7.3.32 - 7.3.33, 8.0.13
- Tue, 01 Jan 2019 13:00:00 +0000
Tue, 01 Jan 2019 14:00:00 +0000
Sanitized:
Tue, 01 Jan 2019 13:00:00 +0000
preferences:
201.27 ms | 402 KiB | 210 Q