3v4l.org

run code in 300+ PHP versions simultaneously
<?php $time = new DateTimeImmutable('2016-10-29T00:00:00UTC+00:00'); $londonTimeZone = new DateTimeZone('Europe/London'); $londonTime = $time->setTimezone($londonTimeZone); $notLondonTime = new DateTimeImmutable('2016-10-29T00:00:00+00:00', new DateTimeZone('Europe/London')); var_dump($londonTime, $notLondonTime);
based on HunQM
Output for 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.27, 7.4.0 - 7.4.15, 8.0.0 - 8.0.3
object(DateTimeImmutable)#3 (3) { ["date"]=> string(26) "2016-10-29 01:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(13) "Europe/London" } object(DateTimeImmutable)#4 (3) { ["date"]=> string(26) "2016-10-29 00:00:00.000000" ["timezone_type"]=> int(1) ["timezone"]=> string(6) "+00:00" }