3v4l.org

run code in 300+ PHP versions simultaneously
<?php /** * @link http://stackoverflow.com/questions/26453510/datetimezone-and-utc-offset-for-standard-and-daylight-times */ /** * @param $seconds * * @return string +\d\d\d\d / -\d\d\d\d */ function format_offset($seconds) { $minutes = (int) ($seconds / 60); $hours = (int) ($minutes / 60); $leftover = abs($minutes - $hours * 60); return sprintf("%+03d%02d", $hours, $leftover); } $zones = array('ET', 'EDT', 'EST'); foreach ($zones as $zone) { // get offset $timezone = new DateTimeZone($zone); $offset = $timezone->getOffset(new DateTime(null, $timezone)); printf("%s (%s) %s\n", $zone, $timezone->getName(), format_offset($offset)); }
Output for 8.3.0 - 8.3.6
Fatal error: Uncaught DateInvalidTimeZoneException: DateTimeZone::__construct(): Unknown or bad timezone (ET) in /in/5fPDn:22 Stack trace: #0 /in/5fPDn(22): DateTimeZone->__construct('ET') #1 {main} thrown in /in/5fPDn on line 22
Process exited with code 255.
Output for 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18
Fatal error: Uncaught Exception: DateTimeZone::__construct(): Unknown or bad timezone (ET) in /in/5fPDn:22 Stack trace: #0 /in/5fPDn(22): DateTimeZone->__construct('ET') #1 {main} thrown in /in/5fPDn on line 22
Process exited with code 255.
Output for 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40
Fatal error: Uncaught exception 'Exception' with message 'DateTimeZone::__construct(): Unknown or bad timezone (ET)' in /in/5fPDn:22 Stack trace: #0 /in/5fPDn(22): DateTimeZone->__construct('ET') #1 {main} thrown in /in/5fPDn on line 22
Process exited with code 255.
Output for 5.0.0 - 5.0.5, 5.1.0 - 5.1.6
Fatal error: Class 'DateTimeZone' not found in /in/5fPDn on line 22
Process exited with code 255.
Output for 4.3.2 - 4.3.11, 4.4.0 - 4.4.9
Fatal error: Cannot instantiate non-existent class: datetimezone in /in/5fPDn on line 22
Process exited with code 255.
Output for 4.3.0 - 4.3.1
Fatal error: Cannot instantiate non-existent class: datetimezone in /in/5fPDn on line 22

preferences:
288.83 ms | 401 KiB | 459 Q