3v4l.org

run code in 300+ PHP versions simultaneously
<?php $start = DateTime::createFromFormat('d:m:Y H:m', '27:04:2013 16:30'); $end = DateTime::createFromFormat('d:m:Y H:m', '29:04:2013 22:30'); $diff = $start->diff($end); $pad = ($start->format('His') > $end->format('His')) ? 2 : 1; $days = $diff->d + $pad; for ($i = 1; $i <= $days; $i++) { if ($i === 1) { printf("%s %s<br>", $start->format('d:m:Y H:m:s'), $start->format('d:m:Y 23:59:59')); } else if ($i === $days) { printf("%s %s<br>", $end->format('d:m:Y 00:00:00'), $start->format('d:m:Y H:m:s')); } else { printf("%s %s<br>", $end->format('d:m:Y 00:00:00'), $end->format('d:m:Y 23:59:59')); } $start->modify('+1 day'); }

preferences:
40.25 ms | 402 KiB | 5 Q