3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php $foo = '2011-1-31 00:00:00'; $date = new DateTime($foo); $date->modify('1 month'); var_dump($date); $new_month = $date->format('m'); $new_day = $date->format('d'); $new_year = $date->format('Y'); $last_month_timestamp = mktime(0, 0, 0, $new_month, $new_day, $new_year); $num_days_last_month = date('t', $last_month_timestamp); $days_offset = $num_days_last_month - $new_day; $date = $date->modify('' . $days_offset . ' days'); var_dump($date);
based on Of2iQ
Output for 5.4.30 - 5.4.45, 5.5.14 - 7.2.0
object(DateTime)#1 (3) { ["date"]=> string(26) "2011-03-03 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } object(DateTime)#1 (3) { ["date"]=> string(26) "2011-03-31 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" }
Output for 5.3.0 - 5.4.29, 5.5.0 - 5.5.13
object(DateTime)#1 (3) { ["date"]=> string(19) "2011-03-03 00:00:00" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } object(DateTime)#1 (3) { ["date"]=> string(19) "2011-03-31 00:00:00" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" }
Output for 5.2.0 - 5.2.17
object(DateTime)#1 (0) { } NULL
Output for 5.0.0 - 5.1.6
Fatal error: Class 'DateTime' not found in /in/dCYvv on line 3
Process exited with code 255.
Output for 4.3.2 - 4.4.9
Fatal error: Cannot instantiate non-existent class: datetime in /in/dCYvv on line 3
Process exited with code 255.
Output for 4.3.0 - 4.3.1
Fatal error: Cannot instantiate non-existent class: datetime in /in/dCYvv on line 3