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);

preferences:
67.74 ms | 402 KiB | 5 Q