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); print_r($trans[$k-1]); return $trans[$k-1]['isdst']; } } var_dump(timezoneExhibitsDST("Europe/London"));
Output for 8.2.0 - 8.2.18, 8.3.0 - 8.3.7
string(25) "2017-07-12T04:07:22+01:00" Array ( [ts] => 1509238800 [time] => 2017-10-29T01:00:00+00:00 [offset] => 0 [isdst] => [abbr] => GMT ) Array ( [ts] => 1490490000 [time] => 2017-03-26T01:00:00+00:00 [offset] => 3600 [isdst] => 1 [abbr] => BST ) 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.28
string(25) "2017-07-12T04:07:22+01:00" Array ( [ts] => 1509238800 [time] => 2017-10-29T01:00:00+0000 [offset] => 0 [isdst] => [abbr] => GMT ) Array ( [ts] => 1490490000 [time] => 2017-03-26T01:00:00+0000 [offset] => 3600 [isdst] => 1 [abbr] => BST ) bool(true)

preferences:
102.12 ms | 403 KiB | 119 Q