3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php $date = new DateTime('2015-11-11 15:00:00', new DateTimeZone('UTC')); //var_dump($date); echo "\ntimezone ", $date->format("e"),"\n"; echo "\n Date timestamp using format(): " . $date->format('U'); echo "\ntimezone ", $date->format("e"),"\n"; echo "\n Date timestamp using getTimestamp(): " . $date->getTimestamp(); echo "\ntimezone ", $date->format("e"),"\n"; echo "\nChanging timezone to CET"; $date->setTimezone(new DateTimeZone('CET')); echo "\ntimezone ", $date->format("e"),"\n"; echo "\n Date timestamp using format(): " . $date->format('U') . ' NB: This has changed?!?!'; echo "\ntimezone ", $date->format("e"),"\n"; echo "\n Date timestamp using getTimestamp(): " . $date->getTimestamp() . ' NB: Now it is back?!?!'; echo "\ntimezone ", $date->format("e"),"\n"; echo "\n Date timestamp using format() again: " . $date->format('U') . ' NB: Now it is back?!?!'; echo "\ntimezone ", $date->format("e"),"\n";
based on tvRLc
Output for 7.0.20, 7.1.5 - 7.2.0
timezone UTC Date timestamp using format(): 1447254000 timezone UTC Date timestamp using getTimestamp(): 1447254000 timezone UTC Changing timezone to CET timezone CET Date timestamp using format(): 1447254000 NB: This has changed?!?! timezone CET Date timestamp using getTimestamp(): 1447254000 NB: Now it is back?!?! timezone CET Date timestamp using format() again: 1447254000 NB: Now it is back?!?! timezone CET
Output for 5.5.24 - 7.0.6, 7.1.0
timezone UTC Date timestamp using format(): 1447254000 timezone UTC Date timestamp using getTimestamp(): 1447254000 timezone UTC Changing timezone to CET timezone CET Date timestamp using format(): 1447257600 NB: This has changed?!?! timezone CET Date timestamp using getTimestamp(): 1447254000 NB: Now it is back?!?! timezone CET Date timestamp using format() again: 1447254000 NB: Now it is back?!?! timezone CET
Output for 5.3.19 - 5.4.45
timezone UTC Date timestamp using format(): 1447254000 timezone UTC Date timestamp using getTimestamp(): 1447254000 timezone UTC Changing timezone to CET timezone Europe/Berlin Date timestamp using format(): 1447254000 NB: This has changed?!?! timezone Europe/Berlin Date timestamp using getTimestamp(): 1447254000 NB: Now it is back?!?! timezone Europe/Berlin Date timestamp using format() again: 1447254000 NB: Now it is back?!?! timezone Europe/Berlin