3v4l.org

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