Quantcast
Channel: PHP Timezone List - Stack Overflow
Viewing all articles
Browse latest Browse all 15

Answer by Milan Markovic for PHP Timezone List

$
0
0

This is the solution that I find better than a hardcoded array, because offsets are calculated dynamically.

<?php             function toGmtOffset($timezone){                  $userTimeZone = new DateTimeZone($timezone);                  $offset = $userTimeZone->getOffset(new DateTime("now",new DateTimeZone('GMT'))); // Offset in seconds                  $seconds = abs($offset);                  $sign = $offset > 0 ? '+' : '-';                  $hours = floor($seconds / 3600);                  $mins = floor($seconds / 60 % 60);                  $secs = floor($seconds % 60);                  return sprintf("(GMT$sign%02d:%02d)", $hours, $mins, $secs);            }            $timezones = array('Pacific/Midway'       => toGmtOffset('Pacific/Midway'       ). " Midway Island",'US/Samoa'             => toGmtOffset('US/Samoa'             ). " Samoa",'US/Hawaii'            => toGmtOffset('US/Hawaii'            ). " Hawaii",'US/Alaska'            => toGmtOffset('US/Alaska'            ). " Alaska",'US/Pacific'           => toGmtOffset('US/Pacific'           ). " Pacific Time (US &amp; Canada)",'America/Tijuana'      => toGmtOffset('America/Tijuana'      ). " Tijuana",'US/Arizona'           => toGmtOffset('US/Arizona'           ). " Arizona",'US/Mountain'          => toGmtOffset('US/Mountain'          ). " Mountain Time (US &amp; Canada)",'America/Chihuahua'    => toGmtOffset('America/Chihuahua'    ). " Chihuahua",'America/Mazatlan'     => toGmtOffset('America/Mazatlan'     ). " Mazatlan",'America/Mexico_City'  => toGmtOffset('America/Mexico_City'  ). " Mexico City",'America/Monterrey'    => toGmtOffset('America/Monterrey'    ). " Monterrey",'Canada/Saskatchewan'  => toGmtOffset('Canada/Saskatchewan'  ). " Saskatchewan",'US/Central'           => toGmtOffset('US/Central'           ). " Central Time (US &amp; Canada)",'US/Eastern'           => toGmtOffset('US/Eastern'           ). " Eastern Time (US &amp; Canada)",'US/East-Indiana'      => toGmtOffset('US/East-Indiana'      ). " Indiana (East)",'America/Bogota'       => toGmtOffset('America/Bogota'       ). " Bogota",'America/Lima'         => toGmtOffset('America/Lima'         ). " Lima",'America/Caracas'      => toGmtOffset('America/Caracas'      ). " Caracas",'Canada/Atlantic'      => toGmtOffset('Canada/Atlantic'      ). " Atlantic Time (Canada)",'America/La_Paz'       => toGmtOffset('America/La_Paz'       ). " La Paz",'America/Santiago'     => toGmtOffset('America/Santiago'     ). " Santiago",'Canada/Newfoundland'  => toGmtOffset('Canada/Newfoundland'  ). " Newfoundland",'America/Buenos_Aires' => toGmtOffset('America/Buenos_Aires' ). " Buenos Aires",'Atlantic/Stanley'     => toGmtOffset('Atlantic/Stanley'     ). " Stanley",'Atlantic/Azores'      => toGmtOffset('Atlantic/Azores'      ). " Azores",'Atlantic/Cape_Verde'  => toGmtOffset('Atlantic/Cape_Verde'  ). " Cape Verde Is.",'Africa/Casablanca'    => toGmtOffset('Africa/Casablanca'    ). " Casablanca",'Europe/Dublin'        => toGmtOffset('Europe/Dublin'        ). " Dublin",'Europe/Lisbon'        => toGmtOffset('Europe/Lisbon'        ). " Lisbon",'Europe/London'        => toGmtOffset('Europe/London'        ). " London",'Africa/Monrovia'      => toGmtOffset('Africa/Monrovia'      ). " Monrovia",'Europe/Amsterdam'     => toGmtOffset('Europe/Amsterdam'     ). " Amsterdam",'Europe/Belgrade'      => toGmtOffset('Europe/Belgrade'      ). " Belgrade",'Europe/Berlin'        => toGmtOffset('Europe/Berlin'        ). " Berlin",'Europe/Bratislava'    => toGmtOffset('Europe/Bratislava'    ). " Bratislava",'Europe/Brussels'      => toGmtOffset('Europe/Brussels'      ). " Brussels",'Europe/Budapest'      => toGmtOffset('Europe/Budapest'      ). " Budapest",'Europe/Copenhagen'    => toGmtOffset('Europe/Copenhagen'    ). " Copenhagen",'Europe/Ljubljana'     => toGmtOffset('Europe/Ljubljana'     ). " Ljubljana",'Europe/Madrid'        => toGmtOffset('Europe/Madrid'        ). " Madrid",'Europe/Paris'         => toGmtOffset('Europe/Paris'         ). " Paris",'Europe/Prague'        => toGmtOffset('Europe/Prague'        ). " Prague",'Europe/Rome'          => toGmtOffset('Europe/Rome'          ). " Rome",'Europe/Sarajevo'      => toGmtOffset('Europe/Sarajevo'      ). " Sarajevo",'Europe/Skopje'        => toGmtOffset('Europe/Skopje'        ). " Skopje",'Europe/Stockholm'     => toGmtOffset('Europe/Stockholm'     ). " Stockholm",'Europe/Vienna'        => toGmtOffset('Europe/Vienna'        ). " Vienna",'Europe/Warsaw'        => toGmtOffset('Europe/Warsaw'        ). " Warsaw",'Europe/Zagreb'        => toGmtOffset('Europe/Zagreb'        ). " Zagreb",'Europe/Athens'        => toGmtOffset('Europe/Athens'        ). " Athens",'Europe/Bucharest'     => toGmtOffset('Europe/Bucharest'     ). " Bucharest",'Africa/Cairo'         => toGmtOffset('Africa/Cairo'         ). " Cairo",'Africa/Harare'        => toGmtOffset('Africa/Harare'        ). " Harare",'Europe/Helsinki'      => toGmtOffset('Europe/Helsinki'      ). " Helsinki",'Europe/Istanbul'      => toGmtOffset('Europe/Istanbul'      ). " Istanbul",'Asia/Jerusalem'       => toGmtOffset('Asia/Jerusalem'       ). " Jerusalem",'Europe/Kiev'          => toGmtOffset('Europe/Kiev'          ). " Kyiv",'Europe/Minsk'         => toGmtOffset('Europe/Minsk'         ). " Minsk",'Europe/Riga'          => toGmtOffset('Europe/Riga'          ). " Riga",'Europe/Sofia'         => toGmtOffset('Europe/Sofia'         ). " Sofia",'Europe/Tallinn'       => toGmtOffset('Europe/Tallinn'       ). " Tallinn",'Europe/Vilnius'       => toGmtOffset('Europe/Vilnius'       ). " Vilnius",'Asia/Baghdad'         => toGmtOffset('Asia/Baghdad'         ). " Baghdad",'Asia/Kuwait'          => toGmtOffset('Asia/Kuwait'          ). " Kuwait",'Africa/Nairobi'       => toGmtOffset('Africa/Nairobi'       ). " Nairobi",'Asia/Riyadh'          => toGmtOffset('Asia/Riyadh'          ). " Riyadh",'Europe/Moscow'        => toGmtOffset('Europe/Moscow'        ). " Moscow",'Asia/Tehran'          => toGmtOffset('Asia/Tehran'          ). " Tehran",'Asia/Baku'            => toGmtOffset('Asia/Baku'            ). " Baku",'Europe/Volgograd'     => toGmtOffset('Europe/Volgograd'     ). " Volgograd",'Asia/Muscat'          => toGmtOffset('Asia/Muscat'          ). " Muscat",'Asia/Tbilisi'         => toGmtOffset('Asia/Tbilisi'         ). " Tbilisi",'Asia/Yerevan'         => toGmtOffset('Asia/Yerevan'         ). " Yerevan",'Asia/Kabul'           => toGmtOffset('Asia/Kabul'           ). " Kabul",'Asia/Karachi'         => toGmtOffset('Asia/Karachi'         ). " Karachi",'Asia/Tashkent'        => toGmtOffset('Asia/Tashkent'        ). " Tashkent",'Asia/Kolkata'         => toGmtOffset('Asia/Kolkata'         ). " Kolkata",'Asia/Kathmandu'       => toGmtOffset('Asia/Kathmandu'       ). " Kathmandu",'Asia/Yekaterinburg'   => toGmtOffset('Asia/Yekaterinburg'   ). " Ekaterinburg",'Asia/Almaty'          => toGmtOffset('Asia/Almaty'          ). " Almaty",'Asia/Dhaka'           => toGmtOffset('Asia/Dhaka'           ). " Dhaka",'Asia/Novosibirsk'     => toGmtOffset('Asia/Novosibirsk'     ). " Novosibirsk",'Asia/Bangkok'         => toGmtOffset('Asia/Bangkok'         ). " Bangkok",'Asia/Jakarta'         => toGmtOffset('Asia/Jakarta'         ). " Jakarta",'Asia/Krasnoyarsk'     => toGmtOffset('Asia/Krasnoyarsk'     ). " Krasnoyarsk",'Asia/Chongqing'       => toGmtOffset('Asia/Chongqing'       ). " Chongqing",'Asia/Hong_Kong'       => toGmtOffset('Asia/Hong_Kong'       ). " Hong Kong",'Asia/Kuala_Lumpur'    => toGmtOffset('Asia/Kuala_Lumpur'    ). " Kuala Lumpur",'Australia/Perth'      => toGmtOffset('Australia/Perth'      ). " Perth",'Asia/Singapore'       => toGmtOffset('Asia/Singapore'       ). " Singapore",'Asia/Taipei'          => toGmtOffset('Asia/Taipei'          ). " Taipei",'Asia/Ulaanbaatar'     => toGmtOffset('Asia/Ulaanbaatar'     ). " Ulaan Bataar",'Asia/Urumqi'          => toGmtOffset('Asia/Urumqi'          ). " Urumqi",'Asia/Irkutsk'         => toGmtOffset('Asia/Irkutsk'         ). " Irkutsk",'Asia/Seoul'           => toGmtOffset('Asia/Seoul'           ). " Seoul",'Asia/Tokyo'           => toGmtOffset('Asia/Tokyo'           ). " Tokyo",'Australia/Adelaide'   => toGmtOffset('Australia/Adelaide'   ). " Adelaide",'Australia/Darwin'     => toGmtOffset('Australia/Darwin'     ). " Darwin",'Asia/Yakutsk'         => toGmtOffset('Asia/Yakutsk'         ). " Yakutsk",'Australia/Brisbane'   => toGmtOffset('Australia/Brisbane'   ). " Brisbane",'Australia/Canberra'   => toGmtOffset('Australia/Canberra'   ). " Canberra",'Pacific/Guam'         => toGmtOffset('Pacific/Guam'         ). " Guam",'Australia/Hobart'     => toGmtOffset('Australia/Hobart'     ). " Hobart",'Australia/Melbourne'  => toGmtOffset('Australia/Melbourne'  ). " Melbourne",'Pacific/Port_Moresby' => toGmtOffset('Pacific/Port_Moresby' ). " Port Moresby",'Australia/Sydney'     => toGmtOffset('Australia/Sydney'     ). " Sydney",'Asia/Vladivostok'     => toGmtOffset('Asia/Vladivostok'     ). " Vladivostok",'Asia/Magadan'         => toGmtOffset('Asia/Magadan'         ). " Magadan",'Pacific/Auckland'     => toGmtOffset('Pacific/Auckland'     ). " Auckland",'Pacific/Fiji'         => toGmtOffset('Pacific/Fiji'         ). " Fiji",            );

Viewing all articles
Browse latest Browse all 15

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>