3v4l.org

run code in 300+ PHP versions simultaneously
<?php function timezoneExhibitsDST($tzId) { $tz = new DateTimeZone($tzId); $date = new DateTime("now",$tz); var_dump($date->format('c')); $trans = $tz->getTransitions(); foreach ($trans as $k => $t) if ($t["ts"] > $date->format('U')) { print_r($t); return $trans[$k-1]['isdst']; } } var_dump(timezoneExhibitsDST("Europe/London"));
Output for 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
string(25) "2017-07-12T04:05:47+01:00" Array ( [ts] => 1509238800 [time] => 2017-10-29T01:00:00+00:00 [offset] => 0 [isdst] => [abbr] => GMT ) bool(true)
Output for 7.3.24 - 7.3.33, 7.4.12 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.27
string(25) "2017-07-12T04:05:47+01:00" Array ( [ts] => 1509238800 [time] => 2017-10-29T01:00:00+0000 [offset] => 0 [isdst] => [abbr] => GMT ) bool(true)

preferences:
113.69 ms | 402 KiB | 114 Q