3v4l.org

run code in 300+ PHP versions simultaneously
<?php date_default_timezone_set('America/Chicago'); var_dump(new \DateTime('-1 month 4:20am')); var_dump((new \DateTime('4:20am'))->sub(new DateInterval('P1M'))); var_dump(new DateTime('last month')); var_dump(new DateTime('2014-02-28 - 1 month')); var_dump(new DateTime('2014-10-30 - 1 month')); var_dump(new DateTime('2014-10-31 - 1 month')); var_dump(new DateTime('2014-11-31 - 1 month'));

preferences:
49.85 ms | 402 KiB | 5 Q