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('America/New_York', 'US/Eastern', 'EDT', 'EST'); foreach ($zones as $zone) { // get offset $timezone = new DateTimeZone($zone); $offset = $timezone->getOffset(new DateTime('2012-01-01', $timezone)); $offset2 = $timezone->getOffset(new DateTime('2012-06-30', $timezone)); printf("%s (%s) %s / %s (2012-01-01 / 2012-06-30)\n", $zone, $timezone->getName(), format_offset($offset), format_offset($offset2)); }
Output for git.master, git.master_jit, rfc.property-hooks
America/New_York (America/New_York) -0500 / -0400 (2012-01-01 / 2012-06-30) US/Eastern (US/Eastern) -0500 / -0400 (2012-01-01 / 2012-06-30) EDT (EDT) -0400 / -0400 (2012-01-01 / 2012-06-30) EST (EST) -0500 / -0500 (2012-01-01 / 2012-06-30)

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
43.58 ms | 401 KiB | 8 Q