3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php function timezoneExhibitsDST($tzId) { $tz = new DateTimeZone($tzId); $date = new DateTime("now",$tz); var_dump($date->format('O')); $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 5.2.6
string(5) "+0100" 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)