Skip to content

Instantly share code, notes, and snippets.

@nodesocket
Created October 19, 2012 16:33
Show Gist options
  • Star 52 You must be signed in to star a gist
  • Fork 11 You must be signed in to fork a gist
  • Save nodesocket/3919205 to your computer and use it in GitHub Desktop.
Save nodesocket/3919205 to your computer and use it in GitHub Desktop.
All world timezones in an HTML select element
<select name="timezone_offset" id="timezone-offset" class="span5">
<option value="-12:00">(GMT -12:00) Eniwetok, Kwajalein</option>
<option value="-11:00">(GMT -11:00) Midway Island, Samoa</option>
<option value="-10:00">(GMT -10:00) Hawaii</option>
<option value="-09:50">(GMT -9:30) Taiohae</option>
<option value="-09:00">(GMT -9:00) Alaska</option>
<option value="-08:00">(GMT -8:00) Pacific Time (US &amp; Canada)</option>
<option value="-07:00">(GMT -7:00) Mountain Time (US &amp; Canada)</option>
<option value="-06:00">(GMT -6:00) Central Time (US &amp; Canada), Mexico City</option>
<option value="-05:00">(GMT -5:00) Eastern Time (US &amp; Canada), Bogota, Lima</option>
<option value="-04:50">(GMT -4:30) Caracas</option>
<option value="-04:00">(GMT -4:00) Atlantic Time (Canada), Caracas, La Paz</option>
<option value="-03:50">(GMT -3:30) Newfoundland</option>
<option value="-03:00">(GMT -3:00) Brazil, Buenos Aires, Georgetown</option>
<option value="-02:00">(GMT -2:00) Mid-Atlantic</option>
<option value="-01:00">(GMT -1:00) Azores, Cape Verde Islands</option>
<option value="+00:00" selected="selected">(GMT) Western Europe Time, London, Lisbon, Casablanca</option>
<option value="+01:00">(GMT +1:00) Brussels, Copenhagen, Madrid, Paris</option>
<option value="+02:00">(GMT +2:00) Kaliningrad, South Africa</option>
<option value="+03:00">(GMT +3:00) Baghdad, Riyadh, Moscow, St. Petersburg</option>
<option value="+03:50">(GMT +3:30) Tehran</option>
<option value="+04:00">(GMT +4:00) Abu Dhabi, Muscat, Baku, Tbilisi</option>
<option value="+04:50">(GMT +4:30) Kabul</option>
<option value="+05:00">(GMT +5:00) Ekaterinburg, Islamabad, Karachi, Tashkent</option>
<option value="+05:50">(GMT +5:30) Bombay, Calcutta, Madras, New Delhi</option>
<option value="+05:75">(GMT +5:45) Kathmandu, Pokhara</option>
<option value="+06:00">(GMT +6:00) Almaty, Dhaka, Colombo</option>
<option value="+06:50">(GMT +6:30) Yangon, Mandalay</option>
<option value="+07:00">(GMT +7:00) Bangkok, Hanoi, Jakarta</option>
<option value="+08:00">(GMT +8:00) Beijing, Perth, Singapore, Hong Kong</option>
<option value="+08:75">(GMT +8:45) Eucla</option>
<option value="+09:00">(GMT +9:00) Tokyo, Seoul, Osaka, Sapporo, Yakutsk</option>
<option value="+09:50">(GMT +9:30) Adelaide, Darwin</option>
<option value="+10:00">(GMT +10:00) Eastern Australia, Guam, Vladivostok</option>
<option value="+10:50">(GMT +10:30) Lord Howe Island</option>
<option value="+11:00">(GMT +11:00) Magadan, Solomon Islands, New Caledonia</option>
<option value="+11:50">(GMT +11:30) Norfolk Island</option>
<option value="+12:00">(GMT +12:00) Auckland, Wellington, Fiji, Kamchatka</option>
<option value="+12:75">(GMT +12:45) Chatham Islands</option>
<option value="+13:00">(GMT +13:00) Apia, Nukualofa</option>
<option value="+14:00">(GMT +14:00) Line Islands, Tokelau</option>
</select>
@epursimuove
Copy link

Please listen to @mj1856 saying "Lists like these are dangerous". You will soon have errors in your code, if using these hardcoded lists.

@ericol
Copy link

ericol commented Nov 16, 2021

@kamleshwebtech you don't PHP much, do you?

var_export($america_timezones_list);

RESULT:

array (
  '+00:00' => '(+00:00) Danmarkshavn',
  '-01:00' => '(-01:00) Scoresbysund',
  '-02:00' => '(-02:00) Noronha',
  '-03:00' => '(-03:00) Argentina/Ushuaia',
  '-03:30' => '(-03:30) St Johns',
  '-04:00' => '(-04:00) Guadeloupe',
  '-05:00' => '(-05:00) Toronto',
  '-06:00' => '(-06:00) Monterrey',
  '-07:00' => '(-07:00) Boise',
  '-08:00' => '(-08:00) Whitehorse',
  '-09:00' => '(-09:00) Metlakatla',
  '-10:00' => '(-10:00) Adak',
)

You'd probably be better off by switching keys and values.

@aftabkhaliq
Copy link

Laravel seeder for time Zones

class TimeZoneSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
if (TimeZone::all()->count() > 0) return;

    TimeZone::insert([

        ['id'=>1,'value'=>'-12:00', 'name'=>'(GMT -12:00) Eniwetok Kwajalein'],
        ['id'=>2, 'value'=>'-11:00', 'name'=>'(GMT -11:00) Midway Island, Samoa'],
        ['id'=>3, 'value'=>'-10:00', 'name'=>'(GMT -10:00) Hawaii'],
        ['id'=>4, 'value'=>'-09:50', 'name'=>'(GMT -9:30) Taiohae'],
        ['id'=>5, 'value'=>'-09:00', 'name'=>'(GMT -9:00) Alaska'],
        ['id'=>6, 'value'=>'-08:00', 'name'=>'(GMT -8:00) Pacific Time [US &amp; Canada)'],
        ['id'=>7, 'value'=>'-07:00', 'name'=>'(GMT -7:00) Mountain Time [US &amp; Canada)'],
        ['id'=>8, 'value'=>'-06:00', 'name'=>'(GMT -6:00) Central Time [US &amp; Canada], Mexico City'],
        ['id'=>9, 'value'=>'-05:00', 'name'=>'(GMT -5:00) Eastern Time [US &amp; Canada], Bogota, Lima'],
        ['id'=>10, 'value'=>'-04:50', 'name'=>'(GMT -4:30) Caracas'],
        ['id'=>11, 'value'=>'-04:00', 'name'=>'(GMT -4:00) Atlantic Time [Canada], Caracas, La Paz'],
        ['id'=>12, 'value'=>'-03:50', 'name'=>'(GMT -3:30) Newfoundland'],
        ['id'=>13, 'value'=>'-03:00', 'name'=>'(GMT -3:00) Brazil, Buenos Aires, Georgetown'],
        ['id'=>14, 'value'=>'-02:00', 'name'=>'(GMT -2:00) Mid-Atlantic'],
        ['id'=>15, 'value'=>'-01:00', 'name'=>'(GMT -1:00) Azores, Cape Verde Islands'],
        ['id'=>16, 'value'=>'+00:00', 'name'=>'(GMT) Western Europe Time, London, Lisbon, Casablanca'],
        ['id'=>17, 'value'=>'+01:00', 'name'=>'(GMT +1:00) Brussels, Copenhagen, Madrid, Paris'],
        ['id'=>18, 'value'=>'+02:00', 'name'=>'(GMT +2:00) Kaliningrad, South Africa'],
        ['id'=>19, 'value'=>'+03:00', 'name'=>'(GMT +3:00) Baghdad, Riyadh, Moscow, St. Petersburg'],
        ['id'=>20, 'value'=>'+03:50', 'name'=>'(GMT +3:30) Tehran'],
        ['id'=>21, 'value'=>'+04:00', 'name'=>'(GMT +4:00) Abu Dhabi, Muscat, Baku, Tbilisi'],
        ['id'=>22, 'value'=>'+04:50', 'name'=>'(GMT +4:30) Kabul'],
        ['id'=>23, 'value'=>'+05:00', 'name'=>'(GMT +5:00) Ekaterinburg, Islamabad, Karachi, Tashkent'],
        ['id'=>24, 'value'=>'+05:50', 'name'=>'(GMT +5:30) Bombay, Calcutta, Madras, New Delhi'],
        ['id'=>25, 'value'=>'+05:75', 'name'=>'(GMT +5:45) Kathmandu, Pokhar'],
        ['id'=>26, 'value'=>'+06:00', 'name'=>'(GMT +6:00) Almaty, Dhaka, Colombo'],
        ['id'=>27, 'value'=>'+06:50', 'name'=>'(GMT +6:30) Yangon, Mandalay'],
        ['id'=>28, 'value'=>'+07:00', 'name'=>'(GMT +7:00) Bangkok, Hanoi, Jakarta'],
        ['id'=>29, 'value'=>'+08:00', 'name'=>'(GMT +8:00) Beijing, Perth, Singapore, Hong Kong'],
        ['id'=>30, 'value'=>'+08:75', 'name'=>'(GMT +8:45) Eucla'],
        ['id'=>31, 'value'=>'+09:00', 'name'=>'(GMT +9:00) Tokyo, Seoul, Osaka, Sapporo, Yakutsk'],
        ['id'=>32, 'value'=>'+09:50', 'name'=>'(GMT +9:30) Adelaide, Darwin'],
        ['id'=>33, 'value'=>'+10:00', 'name'=>'(GMT +10:00) Eastern Australia, Guam, Vladivostok'],
        ['id'=>34, 'value'=>'+10:50', 'name'=>'(GMT +10:30) Lord Howe Island'],
        ['id'=>35, 'value'=>'+11:00', 'name'=>'(GMT +11:00) Magadan, Solomon Islands, New Caledonia'],
        ['id'=>36, 'value'=>'+11:50', 'name'=>'(GMT +11:30) Norfolk Island'],
        ['id'=>37, 'value'=>'+12:00', 'name'=>'(GMT +12:00) Auckland, Wellington, Fiji, Kamchatka'],
        ['id'=>38, 'value'=>'+12:75', 'name'=>'(GMT +12:45) Chatham Islands'],
        ['id'=>39, 'value'=>'+13:00', 'name'=>'(GMT +13:00) Apia, Nukualofa'],
        ['id'=>40, 'value'=>'+14:00', 'name'=>'(GMT +14:00) Line Islands, Tokelau'],
    ]);
}

}

@mattjohnsonpint
Copy link

@nodesocket - please delete this gist. It's encouraging a lot of bad implementations. See my previous comments above. Thanks.

@mcgingras
Copy link

I found this list extremely valuable thanks please do not delete

@tranchausky
Copy link

tranchausky commented Mar 3, 2023

php code :D

define('TIME_ZONE', [
    '-12:00' => '(GMT -12:00) Eniwetok, Kwajalein',
    '-11:00' => '(GMT -11:00) Midway Island, Samoa',
    '-10:00' => '(GMT -10:00) Hawaii',
    '-09:30' => '(GMT -9:30) Taiohae',
    '-09:00' => '(GMT -9:00) Alaska',
    '-08:00' => '(GMT -8:00) Pacific Time (US & Canada)',
    '-07:00' => '(GMT -7:00) Mountain Time (US & Canada)',
    '-06:00' => '(GMT -6:00) Central Time (US & Canada), Mexico City',
    '-05:00' => '(GMT -5:00) Eastern Time (US & Canada), Bogota, Lima',
    '-04:30' => '(GMT -4:30) Caracas',
    '-04:00' => '(GMT -4:00) Atlantic Time (Canada), Caracas, La Paz',
    '-03:30' => '(GMT -3:30) Newfoundland',
    '-03:00' => '(GMT -3:00) Brazil, Buenos Aires, Georgetown',
    '-02:00' => '(GMT -2:00) Mid-Atlantic',
    '-01:00' => '(GMT -1:00) Azores, Cape Verde Islands',
    '+00:00' => '(GMT) Western Europe Time, London, Lisbon, Casablanca',
    '+01:00' => '(GMT +1:00) Brussels, Copenhagen, Madrid, Paris',
    '+02:00' => '(GMT +2:00) Kaliningrad, South Africa',
    '+03:00' => '(GMT +3:00) Baghdad, Riyadh, Moscow, St. Petersburg',
    '+03:30' => '(GMT +3:30) Tehran',
    '+04:00' => '(GMT +4:00) Abu Dhabi, Muscat, Baku, Tbilisi',
    '+04:30' => '(GMT +4:30) Kabul',
    '+05:00' => '(GMT +5:00) Ekaterinburg, Islamabad, Karachi, Tashkent',
    '+05:30' => '(GMT +5:30) Bombay, Calcutta, Madras, New Delhi',
    '+05:45' => '(GMT +5:45) Kathmandu, Pokhara',
    '+06:00' => '(GMT +6:00) Almaty, Dhaka, Colombo',
    '+06:30' => '(GMT +6:30) Yangon, Mandalay',
    '+07:00' => '(GMT +7:00) Bangkok, Hanoi, Jakarta',
    '+08:00' => '(GMT +8:00) Beijing, Perth, Singapore, Hong Kong',
    '+08:45' => '(GMT +8:45) Eucla',
    '+09:00' => '(GMT +9:00) Tokyo, Seoul, Osaka, Sapporo, Yakutsk',
    '+09:30' => '(GMT +9:30) Adelaide, Darwin',
    '+10:00' => '(GMT +10:00) Eastern Australia, Guam, Vladivostok',
    '+10:30' => '(GMT +10:30) Lord Howe Island',
    '+11:00' => '(GMT +11:00) Magadan, Solomon Islands, New Caledonia',
    '+11:30' => '(GMT +11:30) Norfolk Island',
    '+12:00' => '(GMT +12:00) Auckland, Wellington, Fiji, Kamchatka',
    '+12:45' => '(GMT +12:45) Chatham Islands',
    '+13:00' => '(GMT +13:00) Apia, Nukualofa',
    '+14:00' => '(GMT +14:00) Line Islands, Tokelau',
]);

@Simvolick
Copy link

This is extremely appreciated.

@epursimuove
Copy link

epursimuove commented May 19, 2023

Warning! Please, do not use lists like this when trying to work correctly with time zones.

This is not a list of "All world timezones". It is not a complete list. It is not even time zones, just random values that may look like time zones, but are so far away from real time zones. Time zones can not be simplified to hardcoded lists like this.

Using lists similar to this for representing time zones will always fail.

Please read the important points in the comment from mattjohnsonpint (from 2017).

@dorogoff
Copy link

Yeah, @epursimuove is right, because eg (GMT -5:00) Eastern Time (US & Canada), Bogota, Lima is not true,
because Eastern Time in common has daylight saving time EST/EDT, but Bogota and Lima doesn't observe daylight time

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment