3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php $start = new DateTimeImmutable('2012-01-01'); $end = new DateTimeImmutable('2014-12-31'); while($start <= $end) { $nextdate = $start->modify('+1 month')->format('Y-m-d'); $prevdate = $start->modify('-1 month')->format('Y-m-d'); echo $prevdate.'<br>'; echo $nextdate.'<br>'; $start = $start->modify('+1 month'); }
Output for 5.5.4 - 7.1.0
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>
Output for 5.5.0 - 5.5.3
Output for 5.0.0 - 5.4.45
Fatal error: Class 'DateTimeImmutable' not found in /in/rckmO on line 2
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /in/rckmO on line 5
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1
Parse error: parse error, unexpected T_OBJECT_OPERATOR in /in/rckmO on line 5
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error in /in/rckmO on line 5
Process exited with code 255.