Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>This has long been answered but, I wasn't satisfied with any of the answers that forced users to go through all the TZ entries php knows. Instead I created a more concise list that maps times like eastern time to America/New_York and includes special entries for odd locations like Arizona.</p> <p>Github entry: <a href="https://github.com/ryanzor/timezone-dropdown" rel="nofollow">https://github.com/ryanzor/timezone-dropdown</a></p> <p>Demo of just selector: <a href="http://lifesnow.com/time-zone-dropdown/" rel="nofollow">http://lifesnow.com/time-zone-dropdown/</a></p> <pre><code>&lt;?php /** * * This get's the timezone offset based on the olson code. * In this code it is used to find the offset between the given olson code and UTC, but can be used to convert other differences * * @param string $remote_tz TZ string * @param string $origin_tz TZ string, defaults to UTC * @return int offset in seconds */ function ln_get_timezone_offset($remote_tz, $origin_tz = 'UTC') { $origin_dtz = new DateTimeZone($origin_tz); $remote_dtz = new DateTimeZone($remote_tz); $origin_dt = new DateTime("now", $origin_dtz); $remote_dt = new DateTime("now", $remote_dtz); $offset = $remote_dtz-&gt;getOffset($remote_dt) - $origin_dtz-&gt;getOffset($origin_dt); return $offset; } /** * Converts a timezone difference to be displayed as GMT +/- * * @param string $timezone TZ time * @return string text with GMT */ function ln_get_timezone_offset_text($timezone){ $time = ln_get_timezone_offset($timezone); $minutesOffset = $time/60; $hours = floor(($minutesOffset)/60); $minutes = abs($minutesOffset%60); $minutesFormatted = sprintf('%02d', $minutes); $plus = ''; if($time &gt;= 0){ $plus = '+'; } $GMToff = 'GMT '.$plus.$hours.':'.$minutesFormatted; return $GMToff; } /** * This is for formatting how the timezone option displays. * It can be converted to include current time, not include gmt or anything like that. * * @param string $timezone TZ time * @param string $text format select box option */ function ln_display_timezone_option($timezone, $text){ ?&gt; &lt;option value="&lt;?php echo $timezone; ?&gt;"&gt;&lt;?php echo '('.ln_get_timezone_offset_text($timezone).') '.$text; ?&gt;&lt;/option&gt; &lt;?php } /** * The concise list of timezones. This generates the html wherever it is called */ function ln_display_timezone_selector(){ ?&gt; &lt;select name="timezoneSelectDropdown"&gt; &lt;?php ln_display_timezone_option('Pacific/Auckland', 'International Date Line West'); ln_display_timezone_option('Pacific/Midway', 'Midway Island, Samoa'); ln_display_timezone_option('US/Hawaii', 'Hawaii'); ln_display_timezone_option('US/Alaska', 'Alaska'); ln_display_timezone_option('US/Pacific', 'Pacific Time (US &amp; Canada)'); ln_display_timezone_option('America/Tijuana', 'Tijuana, Baja California'); ln_display_timezone_option('America/Phoenix', 'Arizona'); ln_display_timezone_option('America/Chihuahua', 'Chihuahua, La Paz, Mazatlan'); ln_display_timezone_option('US/Mountain', 'Mountain Time (US &amp; Canada)'); ln_display_timezone_option('America/Cancun', 'Central America'); ln_display_timezone_option('US/Central', 'Central Time (US &amp; Canada)'); ln_display_timezone_option('America/Mexico_City', 'Guadalajara, Mexico City, Monterrey'); ln_display_timezone_option('Canada/Saskatchewan', 'Saskatchewan'); ln_display_timezone_option('America/Lima', 'Bogota, Lima, Quito, Rio Branco'); ln_display_timezone_option('US/Eastern', 'Eastern Time (US &amp; Canada)'); ln_display_timezone_option('US/East-Indiana', 'Indiana (East)'); ln_display_timezone_option('Canada/Atlantic', 'Atlantic Time (Canada)'); ln_display_timezone_option('America/Caracas', 'Caracas, La Paz'); ln_display_timezone_option('America/Manaus', 'Manaus'); ln_display_timezone_option('America/Santiago', 'Santiago'); ln_display_timezone_option('Canada/Newfoundland', 'Newfoundland'); ln_display_timezone_option('America/Sao_Paulo', 'Brasilia'); ln_display_timezone_option('America/Argentina/Buenos_Aires', 'Buenos Aires, Georgetown'); ln_display_timezone_option('America/Godthab', 'Greenland'); ln_display_timezone_option('America/Montevideo', 'Montevideo'); ln_display_timezone_option('Atlantic/South_Georgia', 'Mid-Atlantic'); ln_display_timezone_option('Atlantic/Cape_Verde', 'Cape Verde Is.'); ln_display_timezone_option('Atlantic/Azores', 'Azores'); ln_display_timezone_option('Africa/Casablanca', 'Casablanca, Monrovia, Reykjavik'); ln_display_timezone_option('UTC', 'Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London'); ln_display_timezone_option('Europe/Amsterdam', 'Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna'); ln_display_timezone_option('Europe/Belgrade', 'Belgrade, Bratislava, Budapest, Ljubljana, Prague'); ln_display_timezone_option('Europe/Brussels', 'Brussels, Copenhagen, Madrid, Paris'); ln_display_timezone_option('Europe/Sarajevo', 'Sarajevo, Skopje, Warsaw, Zagreb'); ln_display_timezone_option('Africa/Windhoek', 'West Central Africa'); ln_display_timezone_option('Asia/Amman', 'Amman'); ln_display_timezone_option('Europe/Athens', 'Athens, Bucharest, Istanbul'); ln_display_timezone_option('Asia/Beirut', 'Beirut'); ln_display_timezone_option('Africa/Cairo', 'Cairo'); ln_display_timezone_option('Africa/Harare', 'Harare, Pretoria'); ln_display_timezone_option('Europe/Helsinki', 'Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius'); ln_display_timezone_option('Asia/Jerusalem', 'Jerusalem'); ln_display_timezone_option('Europe/Minsk', 'Minsk'); ln_display_timezone_option('Africa/Windhoek', 'Windhoek'); ln_display_timezone_option('Asia/Kuwait', 'Kuwait, Riyadh, Baghdad'); ln_display_timezone_option('Europe/Moscow', 'Moscow, St. Petersburg, Volgograd'); ln_display_timezone_option('Africa/Nairobi', 'Nairobi'); ln_display_timezone_option('Asia/Tbilisi', 'Tbilisi'); ln_display_timezone_option('Asia/Tehran', 'Tehran'); ln_display_timezone_option('Asia/Muscat', 'Abu Dhabi, Muscat'); ln_display_timezone_option('Asia/Baku', 'Baku'); ln_display_timezone_option('Asia/Yerevan', 'Yerevan'); ln_display_timezone_option('Asia/Kabul', 'Kabul'); ln_display_timezone_option('Asia/Yekaterinburg', 'Yekaterinburg'); ln_display_timezone_option('Asia/Karachi', 'Islamabad, Karachi, Tashkent'); ln_display_timezone_option('Asia/Kolkata', 'Sri Jayawardenepura'); ln_display_timezone_option('Asia/Kolkata', 'Chennai, Kolkata, Mumbai, New Delhi'); ln_display_timezone_option('Asia/Kathmandu', 'Kathmandu'); ln_display_timezone_option('Asia/Almaty', 'Almaty, Novosibirsk'); ln_display_timezone_option('Asia/Dhaka', 'Astana, Dhaka'); ln_display_timezone_option('Asia/Rangoon', 'Yangon (Rangoon)'); ln_display_timezone_option('Asia/Bangkok', 'Bangkok, Hanoi, Jakarta'); ln_display_timezone_option('Asia/Krasnoyarsk', 'Krasnoyarsk'); ln_display_timezone_option('Asia/Shanghai', 'Beijing, Chongqing, Hong Kong, Urumqi'); ln_display_timezone_option('Asia/Singapore', 'Kuala Lumpur, Singapore'); ln_display_timezone_option('Asia/Irkutsk', 'Irkutsk, Ulaan Bataar'); ln_display_timezone_option('Australia/Perth', 'Perth'); ln_display_timezone_option('Asia/Taipei', 'Taipei'); ln_display_timezone_option('Asia/Tokyo', 'Osaka, Sapporo, Tokyo'); ln_display_timezone_option('Asia/Seoul', 'Seoul'); ln_display_timezone_option('Asia/Yakutsk', 'Yakutsk'); ln_display_timezone_option('Australia/Adelaide', 'Adelaide'); ln_display_timezone_option('Australia/Darwin', 'Darwin'); ln_display_timezone_option('Australia/Brisbane', 'Brisbane'); ln_display_timezone_option('Australia/Sydney', 'Canberra, Melbourne, Sydney'); ln_display_timezone_option('Australia/Hobart', 'Hobart'); ln_display_timezone_option('Pacific/Guam', 'Guam, Port Moresby'); ln_display_timezone_option('Asia/Vladivostok', 'Vladivostok'); ln_display_timezone_option('Asia/Magadan', 'Magadan, Solomon Is., New Caledonia'); ln_display_timezone_option('Pacific/Auckland', 'Auckland, Wellington'); ln_display_timezone_option('Pacific/Fiji', 'Fiji, Kamchatka, Marshall Is.'); ln_display_timezone_option('Pacific/Tongatapu', 'Nuku\'alofa'); ?&gt; &lt;/select&gt; &lt;?php } ?&gt; </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload