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'); }
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.21, 8.5.0 - 8.5.6
2023-01-03..2023-01-31 2023-02-01..2023-02-28 2023-03-01..2023-03-31 2023-04-01..2023-04-30 2023-05-01..2023-05-31 2023-06-01..2023-06-30 2023-07-01..2023-07-31 2023-08-01..2023-08-31 2023-09-01..2023-09-30 2023-10-01..2023-10-31 2023-11-01..2023-11-30 2023-12-01..2023-12-15

preferences:
75.22 ms | 1153 KiB | 4 Q