(int)$currentTimezone->getOffset($utcTime), 'identifier' => $timezoneIdentifier ); } // Sort the array by offset,identifier ascending usort($tempTimezones, function($a, $b) { return ($a['offset'] == $b['offset']) ? strcmp($a['identifier'], $b['identifier']) : $a['offset'] - $b['offset']; }); $timezoneList = array(); foreach ($tempTimezones as $tz) { $sign = ($tz['offset'] > 0) ? '+' : '-'; $offset = gmdate('H:i', abs($tz['offset'])); $tz['identifier'] = str_replace('_', ' ', $tz['identifier']); $timezoneList[$tz['identifier']] = $tz['identifier'] . ' (UTC ' . $sign . $offset . ')'; } return $timezoneList; } $timezoneList = timezoneList(); echo '';