3v4l.org

run code in 500+ PHP versions simultaneously
<?php $start_date = new DateTime("2023-01-03"); $end_date = new DateTime("2023-12-15"); while ($start_date <= $end_date) { printf( "%s..%s\n", max($start_date->format("Y-m-01"), $start_date->format("Y-m-d")), min($end_date->format("Y-m-d"), $start_date->format("Y-m-t")) ); $start_date->modify('+1 month first day of'); }

preferences:
71.63 ms | 1158 KiB | 5 Q