3v4l.org

run code in 500+ PHP versions simultaneously
<?php //2011-03-13T08:00:00+0000 1300003200 America/Chicago CDT $date = new \DateTime('2010-11-07 02:00:00 America/Chicago'); $timestamp = (int) $date->format('U'); //CST 0 OR $timestamp + (3600 * 24 * 126); for($i = 0; ; $i++) { $date = new \DateTime('@' . ($timestamp + (3600 * $i * 24))); $tz = new \DateTimeZone('America/Chicago'); $date->SetTimezone($tz); $is_dst = $date->format('I'); $arr = $tz->getTransitions($timestamp, $timestamp); if('CST' === $arr[0]['abbr'] || -21600 === $arr[0]['offset'] || !isset($is_dst) || !$is_dst) { //$is_dst work with default object. var_dump($arr, $is_dst); break; } }

preferences:
20.38 ms | 474 KiB | 4 Q