3v4l.org

run code in 300+ PHP versions simultaneously
<?php $begin = new DateTime( '2015-01-01' ); $end = new DateTime( '2017-12-26' ); $interval = new DateInterval('P6M'); $period = new DatePeriod($begin, $interval, $end); foreach ( $period as $dt ) $endDate = (new $dt)->add($interval)->sub(new DateInterval('PT1D')); echo sprintf("%s-%s\n", $dt->format("Y-m-d"), $endDate->format("Y-m-d"));

preferences:
54.24 ms | 402 KiB | 5 Q