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'); $prevdate = $start->modify('-1 month'); echo $prevdate->format('Y-m-d').'<br>'; echo $nextdate->format('Y-m-d').'<br>'; $start = $nextdate; }
Output for 5.5.24 - 5.6.21, hhvm-3.10.0 - 3.12.0, 7.0.0 - 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.0.0 - 5.4.45
Fatal error: Class 'DateTimeImmutable' not found in /in/iY6UL on line 2
Process exited with code 255.
Output for 4.3.2 - 4.4.9
Fatal error: Cannot instantiate non-existent class: datetimeimmutable in /in/iY6UL on line 2
Process exited with code 255.
Output for 4.3.0 - 4.3.1
Fatal error: Cannot instantiate non-existent class: datetimeimmutable in /in/iY6UL on line 2