3v4l.org

run code in 300+ PHP versions simultaneously
<?php $dt = new DateTime('2018-10-28 02:00:00', new DateTimeZone('Europe/Prague')); //Transition local time 3:00 to 2:00 $d = $dt->format('Y-m-d H:i:s P T'); $time = $dt->format('U'); $dt2 = new DateTime('@'.$time); $d2 = $dt2->format('Y-m-d H:i:s P T'); $tz = $dt->getTimezone(); $e = $tz->getTransitions($time, $time); $dt3 = clone $dt; $date1 = $dt3->setTimestamp($time - 1); $dt3 = clone $dt; $date2 = $dt3->setTimestamp($time); $dt3 = clone $dt; $date3 = $dt3->setTimestamp($time + 3600 - 1); $dt3 = clone $dt; $date4 = $dt3->setTimestamp($time + 3600); $dt3 = clone $dt; $date5 = $dt3->setTimestamp($time + 3600*2 - 1); $dt3 = clone $dt; var_dump($date1->format(DateTime::ATOM)); var_dump($date2->format(DateTime::ATOM)); var_dump($date3->format(DateTime::ATOM)); var_dump($date4->format(DateTime::ATOM)); var_dump($date5->format(DateTime::ATOM)); var_dump('Europe/Prague '.$d, 'UTC '.$d2, $e);
Output for git.master, git.master_jit, rfc.property-hooks
string(25) "2018-10-28T02:59:59+02:00" string(25) "2018-10-28T02:00:00+01:00" string(25) "2018-10-28T02:59:59+01:00" string(25) "2018-10-28T03:00:00+01:00" string(25) "2018-10-28T03:59:59+01:00" string(44) "Europe/Prague 2018-10-28 02:00:00 +01:00 CET" string(39) "UTC 2018-10-28 01:00:00 +00:00 GMT+0000" array(2) { [0]=> array(5) { ["ts"]=> int(1540688400) ["time"]=> string(25) "2018-10-28T01:00:00+00:00" ["offset"]=> int(3600) ["isdst"]=> bool(false) ["abbr"]=> string(3) "CET" } [1]=> array(5) { ["ts"]=> int(1540688400) ["time"]=> string(25) "2018-10-28T01:00:00+00:00" ["offset"]=> int(3600) ["isdst"]=> bool(false) ["abbr"]=> string(3) "CET" } }

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:
28.97 ms | 402 KiB | 8 Q