| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221 |
- // https://github.com/dmfilipenko/timezones.json/blob/master/timezones.json
- export interface Timezone {
- value: string
- abbr: string
- offset: number
- isdst: boolean
- text: string
- utc: string[]
- }
- export const ALL_TIMEZONES: Timezone[] = [
- {
- value: 'Dateline Standard Time',
- abbr: 'DST',
- offset: -12,
- isdst: false,
- text: '(UTC-12:00) International Date Line West',
- utc: ['Etc/GMT+12'],
- },
- {
- value: 'UTC-11',
- abbr: 'U',
- offset: -11,
- isdst: false,
- text: '(UTC-11:00) Coordinated Universal Time-11',
- utc: ['Etc/GMT+11', 'Pacific/Midway', 'Pacific/Niue', 'Pacific/Pago_Pago'],
- },
- {
- value: 'Hawaiian Standard Time',
- abbr: 'HST',
- offset: -10,
- isdst: false,
- text: '(UTC-10:00) Hawaii',
- utc: [
- 'Etc/GMT+10',
- 'Pacific/Honolulu',
- 'Pacific/Johnston',
- 'Pacific/Rarotonga',
- 'Pacific/Tahiti',
- ],
- },
- {
- value: 'Alaskan Standard Time',
- abbr: 'AKDT',
- offset: -8,
- isdst: true,
- text: '(UTC-09:00) Alaska',
- utc: [
- 'America/Anchorage',
- 'America/Juneau',
- 'America/Nome',
- 'America/Sitka',
- 'America/Yakutat',
- ],
- },
- {
- value: 'Pacific Standard Time (Mexico)',
- abbr: 'PDT',
- offset: -7,
- isdst: true,
- text: '(UTC-08:00) Baja California',
- utc: ['America/Santa_Isabel'],
- },
- {
- value: 'Pacific Daylight Time',
- abbr: 'PDT',
- offset: -7,
- isdst: true,
- text: '(UTC-07:00) Pacific Daylight Time (US & Canada)',
- utc: ['America/Los_Angeles', 'America/Tijuana', 'America/Vancouver'],
- },
- {
- value: 'Pacific Standard Time',
- abbr: 'PST',
- offset: -8,
- isdst: false,
- text: '(UTC-08:00) Pacific Standard Time (US & Canada)',
- utc: ['America/Los_Angeles', 'America/Tijuana', 'America/Vancouver', 'PST8PDT'],
- },
- {
- value: 'US Mountain Standard Time',
- abbr: 'UMST',
- offset: -7,
- isdst: false,
- text: '(UTC-07:00) Arizona',
- utc: [
- 'America/Creston',
- 'America/Dawson',
- 'America/Dawson_Creek',
- 'America/Hermosillo',
- 'America/Phoenix',
- 'America/Whitehorse',
- 'Etc/GMT+7',
- ],
- },
- {
- value: 'Mountain Standard Time (Mexico)',
- abbr: 'MDT',
- offset: -6,
- isdst: true,
- text: '(UTC-07:00) Chihuahua, La Paz, Mazatlan',
- utc: ['America/Chihuahua', 'America/Mazatlan'],
- },
- {
- value: 'Mountain Standard Time',
- abbr: 'MDT',
- offset: -6,
- isdst: true,
- text: '(UTC-07:00) Mountain Time (US & Canada)',
- utc: [
- 'America/Boise',
- 'America/Cambridge_Bay',
- 'America/Denver',
- 'America/Edmonton',
- 'America/Inuvik',
- 'America/Ojinaga',
- 'America/Yellowknife',
- 'MST7MDT',
- ],
- },
- {
- value: 'Central America Standard Time',
- abbr: 'CAST',
- offset: -6,
- isdst: false,
- text: '(UTC-06:00) Central America',
- utc: [
- 'America/Belize',
- 'America/Costa_Rica',
- 'America/El_Salvador',
- 'America/Guatemala',
- 'America/Managua',
- 'America/Tegucigalpa',
- 'Etc/GMT+6',
- 'Pacific/Galapagos',
- ],
- },
- {
- value: 'Central Standard Time',
- abbr: 'CDT',
- offset: -5,
- isdst: true,
- text: '(UTC-06:00) Central Time (US & Canada)',
- utc: [
- 'America/Chicago',
- 'America/Indiana/Knox',
- 'America/Indiana/Tell_City',
- 'America/Matamoros',
- 'America/Menominee',
- 'America/North_Dakota/Beulah',
- 'America/North_Dakota/Center',
- 'America/North_Dakota/New_Salem',
- 'America/Rainy_River',
- 'America/Rankin_Inlet',
- 'America/Resolute',
- 'America/Winnipeg',
- 'CST6CDT',
- ],
- },
- {
- value: 'Central Standard Time (Mexico)',
- abbr: 'CDT',
- offset: -5,
- isdst: true,
- text: '(UTC-06:00) Guadalajara, Mexico City, Monterrey',
- utc: [
- 'America/Bahia_Banderas',
- 'America/Cancun',
- 'America/Merida',
- 'America/Mexico_City',
- 'America/Monterrey',
- ],
- },
- {
- value: 'Canada Central Standard Time',
- abbr: 'CCST',
- offset: -6,
- isdst: false,
- text: '(UTC-06:00) Saskatchewan',
- utc: ['America/Regina', 'America/Swift_Current'],
- },
- {
- value: 'SA Pacific Standard Time',
- abbr: 'SPST',
- offset: -5,
- isdst: false,
- text: '(UTC-05:00) Bogota, Lima, Quito',
- utc: [
- 'America/Bogota',
- 'America/Cayman',
- 'America/Coral_Harbour',
- 'America/Eirunepe',
- 'America/Guayaquil',
- 'America/Jamaica',
- 'America/Lima',
- 'America/Panama',
- 'America/Rio_Branco',
- 'Etc/GMT+5',
- ],
- },
- {
- value: 'Eastern Standard Time',
- abbr: 'EST',
- offset: -5,
- isdst: false,
- text: '(UTC-05:00) Eastern Time (US & Canada)',
- utc: [
- 'America/Detroit',
- 'America/Havana',
- 'America/Indiana/Petersburg',
- 'America/Indiana/Vincennes',
- 'America/Indiana/Winamac',
- 'America/Iqaluit',
- 'America/Kentucky/Monticello',
- 'America/Louisville',
- 'America/Montreal',
- 'America/Nassau',
- 'America/New_York',
- 'America/Nipigon',
- 'America/Pangnirtung',
- 'America/Port-au-Prince',
- 'America/Thunder_Bay',
- 'America/Toronto',
- ],
- },
- {
- value: 'Eastern Daylight Time',
- abbr: 'EDT',
- offset: -4,
- isdst: true,
- text: '(UTC-04:00) Eastern Daylight Time (US & Canada)',
- utc: [
- 'America/Detroit',
- 'America/Havana',
- 'America/Indiana/Petersburg',
- 'America/Indiana/Vincennes',
- 'America/Indiana/Winamac',
- 'America/Iqaluit',
- 'America/Kentucky/Monticello',
- 'America/Louisville',
- 'America/Montreal',
- 'America/Nassau',
- 'America/New_York',
- 'America/Nipigon',
- 'America/Pangnirtung',
- 'America/Port-au-Prince',
- 'America/Thunder_Bay',
- 'America/Toronto',
- ],
- },
- {
- value: 'US Eastern Standard Time',
- abbr: 'UEDT',
- offset: -5,
- isdst: false,
- text: '(UTC-05:00) Indiana (East)',
- utc: ['America/Indiana/Marengo', 'America/Indiana/Vevay', 'America/Indianapolis'],
- },
- {
- value: 'Venezuela Standard Time',
- abbr: 'VST',
- offset: -4.5,
- isdst: false,
- text: '(UTC-04:30) Caracas',
- utc: ['America/Caracas'],
- },
- {
- value: 'Paraguay Standard Time',
- abbr: 'PYT',
- offset: -4,
- isdst: false,
- text: '(UTC-04:00) Asuncion',
- utc: ['America/Asuncion'],
- },
- {
- value: 'Atlantic Standard Time',
- abbr: 'ADT',
- offset: -3,
- isdst: true,
- text: '(UTC-04:00) Atlantic Time (Canada)',
- utc: [
- 'America/Glace_Bay',
- 'America/Goose_Bay',
- 'America/Halifax',
- 'America/Moncton',
- 'America/Thule',
- 'Atlantic/Bermuda',
- ],
- },
- {
- value: 'Central Brazilian Standard Time',
- abbr: 'CBST',
- offset: -4,
- isdst: false,
- text: '(UTC-04:00) Cuiaba',
- utc: ['America/Campo_Grande', 'America/Cuiaba'],
- },
- {
- value: 'SA Western Standard Time',
- abbr: 'SWST',
- offset: -4,
- isdst: false,
- text: '(UTC-04:00) Georgetown, La Paz, Manaus, San Juan',
- utc: [
- 'America/Anguilla',
- 'America/Antigua',
- 'America/Aruba',
- 'America/Barbados',
- 'America/Blanc-Sablon',
- 'America/Boa_Vista',
- 'America/Curacao',
- 'America/Dominica',
- 'America/Grand_Turk',
- 'America/Grenada',
- 'America/Guadeloupe',
- 'America/Guyana',
- 'America/Kralendijk',
- 'America/La_Paz',
- 'America/Lower_Princes',
- 'America/Manaus',
- 'America/Marigot',
- 'America/Martinique',
- 'America/Montserrat',
- 'America/Port_of_Spain',
- 'America/Porto_Velho',
- 'America/Puerto_Rico',
- 'America/Santo_Domingo',
- 'America/St_Barthelemy',
- 'America/St_Kitts',
- 'America/St_Lucia',
- 'America/St_Thomas',
- 'America/St_Vincent',
- 'America/Tortola',
- 'Etc/GMT+4',
- ],
- },
- {
- value: 'Pacific SA Standard Time',
- abbr: 'PSST',
- offset: -4,
- isdst: false,
- text: '(UTC-04:00) Santiago',
- utc: ['America/Santiago', 'Antarctica/Palmer'],
- },
- {
- value: 'Newfoundland Standard Time',
- abbr: 'NDT',
- offset: -2.5,
- isdst: true,
- text: '(UTC-03:30) Newfoundland',
- utc: ['America/St_Johns'],
- },
- {
- value: 'E. South America Standard Time',
- abbr: 'ESAST',
- offset: -3,
- isdst: false,
- text: '(UTC-03:00) Brasilia',
- utc: ['America/Sao_Paulo'],
- },
- {
- value: 'Argentina Standard Time',
- abbr: 'AST',
- offset: -3,
- isdst: false,
- text: '(UTC-03:00) Buenos Aires',
- utc: [
- 'America/Argentina/La_Rioja',
- 'America/Argentina/Rio_Gallegos',
- 'America/Argentina/Salta',
- 'America/Argentina/San_Juan',
- 'America/Argentina/San_Luis',
- 'America/Argentina/Tucuman',
- 'America/Argentina/Ushuaia',
- 'America/Buenos_Aires',
- 'America/Catamarca',
- 'America/Cordoba',
- 'America/Jujuy',
- 'America/Mendoza',
- ],
- },
- {
- value: 'SA Eastern Standard Time',
- abbr: 'SEST',
- offset: -3,
- isdst: false,
- text: '(UTC-03:00) Cayenne, Fortaleza',
- utc: [
- 'America/Araguaina',
- 'America/Belem',
- 'America/Cayenne',
- 'America/Fortaleza',
- 'America/Maceio',
- 'America/Paramaribo',
- 'America/Recife',
- 'America/Santarem',
- 'Antarctica/Rothera',
- 'Atlantic/Stanley',
- 'Etc/GMT+3',
- ],
- },
- {
- value: 'Greenland Standard Time',
- abbr: 'GDT',
- offset: -3,
- isdst: true,
- text: '(UTC-03:00) Greenland',
- utc: ['America/Godthab'],
- },
- {
- value: 'Montevideo Standard Time',
- abbr: 'MST',
- offset: -3,
- isdst: false,
- text: '(UTC-03:00) Montevideo',
- utc: ['America/Montevideo'],
- },
- {
- value: 'Bahia Standard Time',
- abbr: 'BST',
- offset: -3,
- isdst: false,
- text: '(UTC-03:00) Salvador',
- utc: ['America/Bahia'],
- },
- {
- value: 'UTC-02',
- abbr: 'U',
- offset: -2,
- isdst: false,
- text: '(UTC-02:00) Coordinated Universal Time-02',
- utc: ['America/Noronha', 'Atlantic/South_Georgia', 'Etc/GMT+2'],
- },
- {
- value: 'Azores Standard Time',
- abbr: 'ADT',
- offset: 0,
- isdst: true,
- text: '(UTC-01:00) Azores',
- utc: ['America/Scoresbysund', 'Atlantic/Azores'],
- },
- {
- value: 'Cape Verde Standard Time',
- abbr: 'CVST',
- offset: -1,
- isdst: false,
- text: '(UTC-01:00) Cape Verde Is.',
- utc: ['Atlantic/Cape_Verde', 'Etc/GMT+1'],
- },
- {
- value: 'Morocco Standard Time',
- abbr: 'MDT',
- offset: 1,
- isdst: true,
- text: '(UTC) Casablanca',
- utc: ['Africa/Casablanca', 'Africa/El_Aaiun'],
- },
- {
- value: 'UTC',
- abbr: 'UTC',
- offset: 0,
- isdst: false,
- text: '(UTC) Coordinated Universal Time',
- utc: ['America/Danmarkshavn', 'Etc/GMT'],
- },
- {
- value: 'British Summer Time',
- abbr: 'BST',
- offset: 1,
- isdst: true,
- text: '(UTC+01:00) Edinburgh, London',
- utc: ['Europe/Isle_of_Man', 'Europe/Guernsey', 'Europe/Jersey', 'Europe/London'],
- },
- {
- value: 'GMT Standard Time',
- abbr: 'GDT',
- offset: 1,
- isdst: true,
- text: '(UTC) Dublin, Lisbon',
- utc: [
- 'Atlantic/Canary',
- 'Atlantic/Faeroe',
- 'Atlantic/Madeira',
- 'Europe/Dublin',
- 'Europe/Lisbon',
- ],
- },
- {
- value: 'Greenwich Standard Time',
- abbr: 'GST',
- offset: 0,
- isdst: false,
- text: '(UTC) Monrovia, Reykjavik',
- utc: [
- 'Africa/Abidjan',
- 'Africa/Accra',
- 'Africa/Bamako',
- 'Africa/Banjul',
- 'Africa/Bissau',
- 'Africa/Conakry',
- 'Africa/Dakar',
- 'Africa/Freetown',
- 'Africa/Lome',
- 'Africa/Monrovia',
- 'Africa/Nouakchott',
- 'Africa/Ouagadougou',
- 'Africa/Sao_Tome',
- 'Atlantic/Reykjavik',
- 'Atlantic/St_Helena',
- ],
- },
- {
- value: 'W. Europe Standard Time',
- abbr: 'WEDT',
- offset: 2,
- isdst: true,
- text: '(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna',
- utc: [
- 'Arctic/Longyearbyen',
- 'Europe/Amsterdam',
- 'Europe/Andorra',
- 'Europe/Berlin',
- 'Europe/Busingen',
- 'Europe/Gibraltar',
- 'Europe/Luxembourg',
- 'Europe/Malta',
- 'Europe/Monaco',
- 'Europe/Oslo',
- 'Europe/Rome',
- 'Europe/San_Marino',
- 'Europe/Stockholm',
- 'Europe/Vaduz',
- 'Europe/Vatican',
- 'Europe/Vienna',
- 'Europe/Zurich',
- ],
- },
- {
- value: 'Central Europe Standard Time',
- abbr: 'CEDT',
- offset: 2,
- isdst: true,
- text: '(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague',
- utc: [
- 'Europe/Belgrade',
- 'Europe/Bratislava',
- 'Europe/Budapest',
- 'Europe/Ljubljana',
- 'Europe/Podgorica',
- 'Europe/Prague',
- 'Europe/Tirane',
- ],
- },
- {
- value: 'Romance Standard Time',
- abbr: 'RDT',
- offset: 2,
- isdst: true,
- text: '(UTC+01:00) Brussels, Copenhagen, Madrid, Paris',
- utc: ['Africa/Ceuta', 'Europe/Brussels', 'Europe/Copenhagen', 'Europe/Madrid', 'Europe/Paris'],
- },
- {
- value: 'Central European Standard Time',
- abbr: 'CEDT',
- offset: 2,
- isdst: true,
- text: '(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb',
- utc: ['Europe/Sarajevo', 'Europe/Skopje', 'Europe/Warsaw', 'Europe/Zagreb'],
- },
- {
- value: 'W. Central Africa Standard Time',
- abbr: 'WCAST',
- offset: 1,
- isdst: false,
- text: '(UTC+01:00) West Central Africa',
- utc: [
- 'Africa/Algiers',
- 'Africa/Bangui',
- 'Africa/Brazzaville',
- 'Africa/Douala',
- 'Africa/Kinshasa',
- 'Africa/Lagos',
- 'Africa/Libreville',
- 'Africa/Luanda',
- 'Africa/Malabo',
- 'Africa/Ndjamena',
- 'Africa/Niamey',
- 'Africa/Porto-Novo',
- 'Africa/Tunis',
- 'Etc/GMT-1',
- ],
- },
- {
- value: 'Namibia Standard Time',
- abbr: 'NST',
- offset: 1,
- isdst: false,
- text: '(UTC+01:00) Windhoek',
- utc: ['Africa/Windhoek'],
- },
- {
- value: 'GTB Standard Time',
- abbr: 'GDT',
- offset: 3,
- isdst: true,
- text: '(UTC+02:00) Athens, Bucharest',
- utc: ['Asia/Nicosia', 'Europe/Athens', 'Europe/Bucharest', 'Europe/Chisinau'],
- },
- {
- value: 'Middle East Standard Time',
- abbr: 'MEDT',
- offset: 3,
- isdst: true,
- text: '(UTC+02:00) Beirut',
- utc: ['Asia/Beirut'],
- },
- {
- value: 'Egypt Standard Time',
- abbr: 'EST',
- offset: 2,
- isdst: false,
- text: '(UTC+02:00) Cairo',
- utc: ['Africa/Cairo'],
- },
- {
- value: 'Syria Standard Time',
- abbr: 'SDT',
- offset: 3,
- isdst: true,
- text: '(UTC+02:00) Damascus',
- utc: ['Asia/Damascus'],
- },
- {
- value: 'E. Europe Standard Time',
- abbr: 'EEDT',
- offset: 3,
- isdst: true,
- text: '(UTC+02:00) E. Europe',
- utc: [
- 'Asia/Nicosia',
- 'Europe/Athens',
- 'Europe/Bucharest',
- 'Europe/Chisinau',
- 'Europe/Helsinki',
- 'Europe/Kiev',
- 'Europe/Mariehamn',
- 'Europe/Nicosia',
- 'Europe/Riga',
- 'Europe/Sofia',
- 'Europe/Tallinn',
- 'Europe/Uzhgorod',
- 'Europe/Vilnius',
- 'Europe/Zaporozhye',
- ],
- },
- {
- value: 'South Africa Standard Time',
- abbr: 'SAST',
- offset: 2,
- isdst: false,
- text: '(UTC+02:00) Harare, Pretoria',
- utc: [
- 'Africa/Blantyre',
- 'Africa/Bujumbura',
- 'Africa/Gaborone',
- 'Africa/Harare',
- 'Africa/Johannesburg',
- 'Africa/Kigali',
- 'Africa/Lubumbashi',
- 'Africa/Lusaka',
- 'Africa/Maputo',
- 'Africa/Maseru',
- 'Africa/Mbabane',
- 'Etc/GMT-2',
- ],
- },
- {
- value: 'FLE Standard Time',
- abbr: 'FDT',
- offset: 3,
- isdst: true,
- text: '(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius',
- utc: [
- 'Europe/Helsinki',
- 'Europe/Kiev',
- 'Europe/Mariehamn',
- 'Europe/Riga',
- 'Europe/Sofia',
- 'Europe/Tallinn',
- 'Europe/Uzhgorod',
- 'Europe/Vilnius',
- 'Europe/Zaporozhye',
- ],
- },
- {
- value: 'Turkey Standard Time',
- abbr: 'TDT',
- offset: 3,
- isdst: false,
- text: '(UTC+03:00) Istanbul',
- utc: ['Europe/Istanbul'],
- },
- {
- value: 'Israel Standard Time',
- abbr: 'JDT',
- offset: 3,
- isdst: true,
- text: '(UTC+02:00) Jerusalem',
- utc: ['Asia/Jerusalem'],
- },
- {
- value: 'Libya Standard Time',
- abbr: 'LST',
- offset: 2,
- isdst: false,
- text: '(UTC+02:00) Tripoli',
- utc: ['Africa/Tripoli'],
- },
- {
- value: 'Jordan Standard Time',
- abbr: 'JST',
- offset: 3,
- isdst: false,
- text: '(UTC+03:00) Amman',
- utc: ['Asia/Amman'],
- },
- {
- value: 'Arabic Standard Time',
- abbr: 'AST',
- offset: 3,
- isdst: false,
- text: '(UTC+03:00) Baghdad',
- utc: ['Asia/Baghdad'],
- },
- {
- value: 'Kaliningrad Standard Time',
- abbr: 'KST',
- offset: 3,
- isdst: false,
- text: '(UTC+02:00) Kaliningrad',
- utc: ['Europe/Kaliningrad'],
- },
- {
- value: 'Arab Standard Time',
- abbr: 'AST',
- offset: 3,
- isdst: false,
- text: '(UTC+03:00) Kuwait, Riyadh',
- utc: ['Asia/Aden', 'Asia/Bahrain', 'Asia/Kuwait', 'Asia/Qatar', 'Asia/Riyadh'],
- },
- {
- value: 'E. Africa Standard Time',
- abbr: 'EAST',
- offset: 3,
- isdst: false,
- text: '(UTC+03:00) Nairobi',
- utc: [
- 'Africa/Addis_Ababa',
- 'Africa/Asmera',
- 'Africa/Dar_es_Salaam',
- 'Africa/Djibouti',
- 'Africa/Juba',
- 'Africa/Kampala',
- 'Africa/Khartoum',
- 'Africa/Mogadishu',
- 'Africa/Nairobi',
- 'Antarctica/Syowa',
- 'Etc/GMT-3',
- 'Indian/Antananarivo',
- 'Indian/Comoro',
- 'Indian/Mayotte',
- ],
- },
- {
- value: 'Moscow Standard Time',
- abbr: 'MSK',
- offset: 3,
- isdst: false,
- text: '(UTC+03:00) Moscow, St. Petersburg, Volgograd, Minsk',
- utc: ['Europe/Kirov', 'Europe/Moscow', 'Europe/Simferopol', 'Europe/Volgograd', 'Europe/Minsk'],
- },
- {
- value: 'Samara Time',
- abbr: 'SAMT',
- offset: 4,
- isdst: false,
- text: '(UTC+04:00) Samara, Ulyanovsk, Saratov',
- utc: ['Europe/Astrakhan', 'Europe/Samara', 'Europe/Ulyanovsk'],
- },
- {
- value: 'Iran Standard Time',
- abbr: 'IDT',
- offset: 4.5,
- isdst: true,
- text: '(UTC+03:30) Tehran',
- utc: ['Asia/Tehran'],
- },
- {
- value: 'Arabian Standard Time',
- abbr: 'AST',
- offset: 4,
- isdst: false,
- text: '(UTC+04:00) Abu Dhabi, Muscat',
- utc: ['Asia/Dubai', 'Asia/Muscat', 'Etc/GMT-4'],
- },
- {
- value: 'Azerbaijan Standard Time',
- abbr: 'ADT',
- offset: 5,
- isdst: true,
- text: '(UTC+04:00) Baku',
- utc: ['Asia/Baku'],
- },
- {
- value: 'Mauritius Standard Time',
- abbr: 'MST',
- offset: 4,
- isdst: false,
- text: '(UTC+04:00) Port Louis',
- utc: ['Indian/Mahe', 'Indian/Mauritius', 'Indian/Reunion'],
- },
- {
- value: 'Georgian Standard Time',
- abbr: 'GET',
- offset: 4,
- isdst: false,
- text: '(UTC+04:00) Tbilisi',
- utc: ['Asia/Tbilisi'],
- },
- {
- value: 'Caucasus Standard Time',
- abbr: 'CST',
- offset: 4,
- isdst: false,
- text: '(UTC+04:00) Yerevan',
- utc: ['Asia/Yerevan'],
- },
- {
- value: 'Afghanistan Standard Time',
- abbr: 'AST',
- offset: 4.5,
- isdst: false,
- text: '(UTC+04:30) Kabul',
- utc: ['Asia/Kabul'],
- },
- {
- value: 'West Asia Standard Time',
- abbr: 'WAST',
- offset: 5,
- isdst: false,
- text: '(UTC+05:00) Ashgabat, Tashkent',
- utc: [
- 'Antarctica/Mawson',
- 'Asia/Aqtau',
- 'Asia/Aqtobe',
- 'Asia/Ashgabat',
- 'Asia/Dushanbe',
- 'Asia/Oral',
- 'Asia/Samarkand',
- 'Asia/Tashkent',
- 'Etc/GMT-5',
- 'Indian/Kerguelen',
- 'Indian/Maldives',
- ],
- },
- {
- value: 'Yekaterinburg Time',
- abbr: 'YEKT',
- offset: 5,
- isdst: false,
- text: '(UTC+05:00) Yekaterinburg',
- utc: ['Asia/Yekaterinburg'],
- },
- {
- value: 'Pakistan Standard Time',
- abbr: 'PKT',
- offset: 5,
- isdst: false,
- text: '(UTC+05:00) Islamabad, Karachi',
- utc: ['Asia/Karachi'],
- },
- {
- value: 'India Standard Time',
- abbr: 'IST',
- offset: 5.5,
- isdst: false,
- text: '(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi',
- utc: ['Asia/Kolkata', 'Asia/Calcutta'],
- },
- {
- value: 'Sri Lanka Standard Time',
- abbr: 'SLST',
- offset: 5.5,
- isdst: false,
- text: '(UTC+05:30) Sri Jayawardenepura',
- utc: ['Asia/Colombo'],
- },
- {
- value: 'Nepal Standard Time',
- abbr: 'NST',
- offset: 5.75,
- isdst: false,
- text: '(UTC+05:45) Kathmandu',
- utc: ['Asia/Kathmandu'],
- },
- {
- value: 'Central Asia Standard Time',
- abbr: 'CAST',
- offset: 6,
- isdst: false,
- text: '(UTC+06:00) Nur-Sultan (Astana)',
- utc: [
- 'Antarctica/Vostok',
- 'Asia/Almaty',
- 'Asia/Bishkek',
- 'Asia/Qyzylorda',
- 'Asia/Urumqi',
- 'Etc/GMT-6',
- 'Indian/Chagos',
- ],
- },
- {
- value: 'Bangladesh Standard Time',
- abbr: 'BST',
- offset: 6,
- isdst: false,
- text: '(UTC+06:00) Dhaka',
- utc: ['Asia/Dhaka', 'Asia/Thimphu'],
- },
- {
- value: 'Myanmar Standard Time',
- abbr: 'MST',
- offset: 6.5,
- isdst: false,
- text: '(UTC+06:30) Yangon (Rangoon)',
- utc: ['Asia/Rangoon', 'Indian/Cocos'],
- },
- {
- value: 'SE Asia Standard Time',
- abbr: 'SAST',
- offset: 7,
- isdst: false,
- text: '(UTC+07:00) Bangkok, Hanoi, Jakarta',
- utc: [
- 'Antarctica/Davis',
- 'Asia/Bangkok',
- 'Asia/Hovd',
- 'Asia/Jakarta',
- 'Asia/Phnom_Penh',
- 'Asia/Pontianak',
- 'Asia/Saigon',
- 'Asia/Vientiane',
- 'Etc/GMT-7',
- 'Indian/Christmas',
- ],
- },
- {
- value: 'N. Central Asia Standard Time',
- abbr: 'NCAST',
- offset: 7,
- isdst: false,
- text: '(UTC+07:00) Novosibirsk',
- utc: ['Asia/Novokuznetsk', 'Asia/Novosibirsk', 'Asia/Omsk'],
- },
- {
- value: 'China Standard Time',
- abbr: 'CST',
- offset: 8,
- isdst: false,
- text: '(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi',
- utc: ['Asia/Hong_Kong', 'Asia/Macau', 'Asia/Shanghai'],
- },
- {
- value: 'North Asia Standard Time',
- abbr: 'NAST',
- offset: 8,
- isdst: false,
- text: '(UTC+08:00) Krasnoyarsk',
- utc: ['Asia/Krasnoyarsk'],
- },
- {
- value: 'Singapore Standard Time',
- abbr: 'MPST',
- offset: 8,
- isdst: false,
- text: '(UTC+08:00) Kuala Lumpur, Singapore',
- utc: [
- 'Asia/Brunei',
- 'Asia/Kuala_Lumpur',
- 'Asia/Kuching',
- 'Asia/Makassar',
- 'Asia/Manila',
- 'Asia/Singapore',
- 'Etc/GMT-8',
- ],
- },
- {
- value: 'W. Australia Standard Time',
- abbr: 'WAST',
- offset: 8,
- isdst: false,
- text: '(UTC+08:00) Perth',
- utc: ['Antarctica/Casey', 'Australia/Perth'],
- },
- {
- value: 'Taipei Standard Time',
- abbr: 'TST',
- offset: 8,
- isdst: false,
- text: '(UTC+08:00) Taipei',
- utc: ['Asia/Taipei'],
- },
- {
- value: 'Ulaanbaatar Standard Time',
- abbr: 'UST',
- offset: 8,
- isdst: false,
- text: '(UTC+08:00) Ulaanbaatar',
- utc: ['Asia/Choibalsan', 'Asia/Ulaanbaatar'],
- },
- {
- value: 'North Asia East Standard Time',
- abbr: 'NAEST',
- offset: 8,
- isdst: false,
- text: '(UTC+08:00) Irkutsk',
- utc: ['Asia/Irkutsk'],
- },
- {
- value: 'Japan Standard Time',
- abbr: 'JST',
- offset: 9,
- isdst: false,
- text: '(UTC+09:00) Osaka, Sapporo, Tokyo',
- utc: ['Asia/Dili', 'Asia/Jayapura', 'Asia/Tokyo', 'Etc/GMT-9', 'Pacific/Palau'],
- },
- {
- value: 'Korea Standard Time',
- abbr: 'KST',
- offset: 9,
- isdst: false,
- text: '(UTC+09:00) Seoul',
- utc: ['Asia/Pyongyang', 'Asia/Seoul'],
- },
- {
- value: 'Cen. Australia Standard Time',
- abbr: 'CAST',
- offset: 9.5,
- isdst: false,
- text: '(UTC+09:30) Adelaide',
- utc: ['Australia/Adelaide', 'Australia/Broken_Hill'],
- },
- {
- value: 'AUS Central Standard Time',
- abbr: 'ACST',
- offset: 9.5,
- isdst: false,
- text: '(UTC+09:30) Darwin',
- utc: ['Australia/Darwin'],
- },
- {
- value: 'E. Australia Standard Time',
- abbr: 'EAST',
- offset: 10,
- isdst: false,
- text: '(UTC+10:00) Brisbane',
- utc: ['Australia/Brisbane', 'Australia/Lindeman'],
- },
- {
- value: 'AUS Eastern Standard Time',
- abbr: 'AEST',
- offset: 10,
- isdst: false,
- text: '(UTC+10:00) Canberra, Melbourne, Sydney',
- utc: ['Australia/Melbourne', 'Australia/Sydney'],
- },
- {
- value: 'West Pacific Standard Time',
- abbr: 'WPST',
- offset: 10,
- isdst: false,
- text: '(UTC+10:00) Guam, Port Moresby',
- utc: [
- 'Antarctica/DumontDUrville',
- 'Etc/GMT-10',
- 'Pacific/Guam',
- 'Pacific/Port_Moresby',
- 'Pacific/Saipan',
- 'Pacific/Truk',
- ],
- },
- {
- value: 'Tasmania Standard Time',
- abbr: 'TST',
- offset: 10,
- isdst: false,
- text: '(UTC+10:00) Hobart',
- utc: ['Australia/Currie', 'Australia/Hobart'],
- },
- {
- value: 'Yakutsk Standard Time',
- abbr: 'YST',
- offset: 9,
- isdst: false,
- text: '(UTC+09:00) Yakutsk',
- utc: ['Asia/Chita', 'Asia/Khandyga', 'Asia/Yakutsk'],
- },
- {
- value: 'Central Pacific Standard Time',
- abbr: 'CPST',
- offset: 11,
- isdst: false,
- text: '(UTC+11:00) Solomon Is., New Caledonia',
- utc: [
- 'Antarctica/Macquarie',
- 'Etc/GMT-11',
- 'Pacific/Efate',
- 'Pacific/Guadalcanal',
- 'Pacific/Kosrae',
- 'Pacific/Noumea',
- 'Pacific/Ponape',
- ],
- },
- {
- value: 'Vladivostok Standard Time',
- abbr: 'VST',
- offset: 11,
- isdst: false,
- text: '(UTC+11:00) Vladivostok',
- utc: ['Asia/Sakhalin', 'Asia/Ust-Nera', 'Asia/Vladivostok'],
- },
- {
- value: 'New Zealand Standard Time',
- abbr: 'NZST',
- offset: 12,
- isdst: false,
- text: '(UTC+12:00) Auckland, Wellington',
- utc: ['Antarctica/McMurdo', 'Pacific/Auckland'],
- },
- {
- value: 'UTC+12',
- abbr: 'U',
- offset: 12,
- isdst: false,
- text: '(UTC+12:00) Coordinated Universal Time+12',
- utc: [
- 'Etc/GMT-12',
- 'Pacific/Funafuti',
- 'Pacific/Kwajalein',
- 'Pacific/Majuro',
- 'Pacific/Nauru',
- 'Pacific/Tarawa',
- 'Pacific/Wake',
- 'Pacific/Wallis',
- ],
- },
- {
- value: 'Fiji Standard Time',
- abbr: 'FST',
- offset: 12,
- isdst: false,
- text: '(UTC+12:00) Fiji',
- utc: ['Pacific/Fiji'],
- },
- {
- value: 'Magadan Standard Time',
- abbr: 'MST',
- offset: 12,
- isdst: false,
- text: '(UTC+12:00) Magadan',
- utc: ['Asia/Anadyr', 'Asia/Kamchatka', 'Asia/Magadan', 'Asia/Srednekolymsk'],
- },
- {
- value: 'Kamchatka Standard Time',
- abbr: 'KDT',
- offset: 13,
- isdst: true,
- text: '(UTC+12:00) Petropavlovsk-Kamchatsky - Old',
- utc: ['Asia/Kamchatka'],
- },
- {
- value: 'Tonga Standard Time',
- abbr: 'TST',
- offset: 13,
- isdst: false,
- text: "(UTC+13:00) Nuku'alofa",
- utc: ['Etc/GMT-13', 'Pacific/Enderbury', 'Pacific/Fakaofo', 'Pacific/Tongatapu'],
- },
- {
- value: 'Samoa Standard Time',
- abbr: 'SST',
- offset: 13,
- isdst: false,
- text: '(UTC+13:00) Samoa',
- utc: ['Pacific/Apia'],
- },
- ]
- /**
- * Deduplicated view of `ALL_TIMEZONES`, keyed by the entry's primary IANA
- * name (`utc[0]`). Several catalog rows share an IANA target — e.g. PDT and
- * PST both point to `America/Los_Angeles` — which would render duplicate UI
- * rows that all store the same value when picked. We prefer the standard-time
- * (`isdst: false`) row when both are present.
- */
- export const TIMEZONES_BY_IANA: Timezone[] = (() => {
- const seen = new Map<string, Timezone>()
- for (const entry of ALL_TIMEZONES) {
- const key = entry.utc[0]
- if (!key) continue
- const existing = seen.get(key)
- if (!existing || (existing.isdst && !entry.isdst)) {
- seen.set(key, entry)
- }
- }
- return Array.from(seen.values())
- })()
- /** Look up the catalog entry that owns the given IANA name (any of `utc[]`). */
- export const findTimezoneByIana = (iana: string): Timezone | undefined =>
- ALL_TIMEZONES.find((entry) => entry.utc.includes(iana))
|