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'));
Output for git.master
object(DateTime)#1 (3) { ["date"]=> string(26) "2016-03-05 04:20:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(15) "America/Chicago" } object(DateTime)#1 (3) { ["date"]=> string(26) "2016-03-05 04:20:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(15) "America/Chicago" } object(DateTime)#1 (3) { ["date"]=> string(26) "2016-03-05 23:10:52.003693" ["timezone_type"]=> int(3) ["timezone"]=> string(15) "America/Chicago" } object(DateTime)#1 (3) { ["date"]=> string(26) "2014-01-28 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(15) "America/Chicago" } object(DateTime)#1 (3) { ["date"]=> string(26) "2014-09-30 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(15) "America/Chicago" } object(DateTime)#1 (3) { ["date"]=> string(26) "2014-10-01 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(15) "America/Chicago" } object(DateTime)#1 (3) { ["date"]=> string(26) "2014-11-01 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(15) "America/Chicago" }
Output for git.master_jit
object(DateTime)#1 (3) { ["date"]=> string(26) "2016-03-05 04:20:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(15) "America/Chicago" } object(DateTime)#1 (3) { ["date"]=> string(26) "2016-03-05 04:20:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(15) "America/Chicago" } object(DateTime)#1 (3) { ["date"]=> string(26) "2016-03-05 23:10:52.003900" ["timezone_type"]=> int(3) ["timezone"]=> string(15) "America/Chicago" } object(DateTime)#1 (3) { ["date"]=> string(26) "2014-01-28 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(15) "America/Chicago" } object(DateTime)#1 (3) { ["date"]=> string(26) "2014-09-30 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(15) "America/Chicago" } object(DateTime)#1 (3) { ["date"]=> string(26) "2014-10-01 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(15) "America/Chicago" } object(DateTime)#1 (3) { ["date"]=> string(26) "2014-11-01 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(15) "America/Chicago" }
Output for rfc.property-hooks
object(DateTime)#1 (3) { ["date"]=> string(26) "2016-03-05 04:20:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(15) "America/Chicago" } object(DateTime)#1 (3) { ["date"]=> string(26) "2016-03-05 04:20:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(15) "America/Chicago" } object(DateTime)#1 (3) { ["date"]=> string(26) "2016-03-05 23:10:52.003549" ["timezone_type"]=> int(3) ["timezone"]=> string(15) "America/Chicago" } object(DateTime)#1 (3) { ["date"]=> string(26) "2014-01-28 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(15) "America/Chicago" } object(DateTime)#1 (3) { ["date"]=> string(26) "2014-09-30 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(15) "America/Chicago" } object(DateTime)#1 (3) { ["date"]=> string(26) "2014-10-01 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(15) "America/Chicago" } object(DateTime)#1 (3) { ["date"]=> string(26) "2014-11-01 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(15) "America/Chicago" }

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
53.71 ms | 403 KiB | 8 Q