3v4l.org

run code in 300+ PHP versions simultaneously
<?php $start = new DateTime('2012-01-01'); $end = new DateTime('2014-12-31'); while($start <= $end) { $nextdate = clone $start; $nextdate->modify('+1 month'); $prevdate = clone $start; $prevdate->modify('-1 month'); echo $prevdate->format('Y-m-d').'<br>'; echo $nextdate->format('Y-m-d').'<br>'; $start = $nextdate; }
Output for 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.20, 7.2.0 - 7.2.33, 7.3.12 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
2011-12-01<br>2012-02-01<br>2012-01-01<br>2012-03-01<br>2012-02-01<br>2012-04-01<br>2012-03-01<br>2012-05-01<br>2012-04-01<br>2012-06-01<br>2012-05-01<br>2012-07-01<br>2012-06-01<br>2012-08-01<br>2012-07-01<br>2012-09-01<br>2012-08-01<br>2012-10-01<br>2012-09-01<br>2012-11-01<br>2012-10-01<br>2012-12-01<br>2012-11-01<br>2013-01-01<br>2012-12-01<br>2013-02-01<br>2013-01-01<br>2013-03-01<br>2013-02-01<br>2013-04-01<br>2013-03-01<br>2013-05-01<br>2013-04-01<br>2013-06-01<br>2013-05-01<br>2013-07-01<br>2013-06-01<br>2013-08-01<br>2013-07-01<br>2013-09-01<br>2013-08-01<br>2013-10-01<br>2013-09-01<br>2013-11-01<br>2013-10-01<br>2013-12-01<br>2013-11-01<br>2014-01-01<br>2013-12-01<br>2014-02-01<br>2014-01-01<br>2014-03-01<br>2014-02-01<br>2014-04-01<br>2014-03-01<br>2014-05-01<br>2014-04-01<br>2014-06-01<br>2014-05-01<br>2014-07-01<br>2014-06-01<br>2014-08-01<br>2014-07-01<br>2014-09-01<br>2014-08-01<br>2014-10-01<br>2014-09-01<br>2014-11-01<br>2014-10-01<br>2014-12-01<br>2014-11-01<br>2015-01-01<br>

preferences:
184.34 ms | 406 KiB | 304 Q