3v4l.org

run code in 300+ PHP versions simultaneously
<?php $begin_date = new DateTime('2016-01-01 00:00:00'); $end_date = new DateTime('2017-05-02 23:59:59'); $result = array(); $current = clone $begin_date; while ($current < $end_date) { array_push($result, $current->format('Y-m')); $current->add(DateInterval::createFromDateString('1 Month')); } var_dump($result);

preferences:
64.4 ms | 402 KiB | 5 Q