- var_dump: documentation ( source)
<?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);