Преобразование Microsoft Timezone в данные по часовому поясу стандартов в рельсах

У меня есть приложение rails, которое подключается к базе данных SQL Server, и есть приложение для рабочего стола Windows, которое подключается к одной и той же БД. Приложение Windows использует базу данных часовых поясов Microsoft Windows, поэтому я получаю имя часового пояса, например Pacific Daylight Time. В rails класс ActiveSupport::TimeZone дает нам хеш отображения, где ключ будет как Pacific Time (US & Canada), и значение будет как America/Los_Angeles. Есть ли что-то уже там, которое преобразует формат окна в формат стандартов, поэтому я могу использовать Time.zone?

Или, может быть, есть драгоценный камень часового пояса, который позволит мне настроить рельсы на использование формата Windows?

Здесь массив, который я начал помогать с преобразованием, но там немного я не уверен на 100%.

  DAYLIGHT = [
{name: 'Dateline Daylight Time',          offset: -12,  alt: 'International Date Line West'},
{name: 'UTC-11',                          offset: -11,  alt: ''},
{name: 'Hawaiian Daylight Time',          offset: -10,  alt: 'Hawaii'},
{name: 'Alaskan Daylight Time',           offset: -9,   alt: 'Alaska'},
{name: 'Pacific Daylight Time (Mexico)',  offset: -8,   alt: ''},
{name: 'Pacific Daylight Time',           offset: -8,   alt: 'Pacific Time (US & Canada)'},
{name: 'US Mountain Daylight Time',       offset: -7,   alt: 'Mountain Time (US & Canada)'},
{name: 'Mountain Daylight Time (Mexico)', offset: -7,   alt: ''},
{name: 'Mountain Daylight Time',          offset: -7,   alt: 'Mountain Time (US & Canada)'},
{name: 'Central America Daylight Time',   offset: -6,   alt: 'Central Time (US & Canada)'},
{name: 'Central Daylight Time',           offset: -6,   alt: 'Central Time (US & Canada)'},
{name: 'Central Daylight Time (Mexico)',  offset: -6,   alt: ''},
{name: 'Canada Central Daylight Time',    offset: -6,   alt: ''},
{name: 'SA Pacific Daylight Time',        offset: -5,   alt: ''},
{name: 'Eastern Daylight Time',           offset: -5,   alt: 'Eastern Time (US & Canada)'},
{name: 'US Eastern Daylight Time',        offset: -5,   alt: 'Eastern Time (US & Canada)'},
{name: 'Venezuela Daylight Time',         offset: -4.5, alt: ''},
{name: 'Paraguay Daylight Time',          offset: -4,   alt: ''},
{name: 'Atlantic Daylight Time',          offset: -4,   alt: ''},
{name: 'Central Brazilian Daylight Time', offset: -4,   alt: ''},
{name: 'SA Western Daylight Time',        offset: -4,   alt: ''},
{name: 'Pacific SA Daylight Time',        offset: -4,   alt: ''},
{name: 'Newfoundland Daylight Time',      offset: -3.5, alt: ''},
{name: 'E. South America Daylight Time',  offset: -3,   alt: ''},
{name: 'Argentina Daylight Time',         offset: -3,   alt: ''},
{name: 'SA Eastern Daylight Time',        offset: -3,   alt: ''},
{name: 'Greenland Daylight Time',         offset: -3,   alt: ''},
{name: 'Montevideo Daylight Time',        offset: -3,   alt: ''},
{name: 'Bahia Daylight Time',             offset: -3,   alt: ''},
{name: 'UTC-02',                          offset: -2,   alt: ''},
{name: 'Mid-Atlantic Daylight Time',      offset: -2,   alt: ''},
{name: 'Azores Daylight Time',            offset: -1,   alt: ''},
{name: 'Cabo Verde Daylight Time',        offset: -1,   alt: ''},
{name: 'Morocco Daylight Time',           offset: 0,    alt: ''},
{name: 'Coordinated Universal Time',      offset: 0,    alt: ''},
{name: 'GMT Daylight Time',               offset: 0,    alt: ''},
{name: 'Greenwich Daylight Time',         offset: 0,    alt: ''},
{name: 'W. Europe Daylight Time',         offset: 1,    alt: ''},
{name: 'Central Europe Daylight Time',    offset: 1,    alt: ''},
{name: 'Romance Daylight Time',           offset: 1,    alt: ''},
{name: 'Central European Daylight Time',  offset: 1,    alt: ''},
{name: 'W. Central Africa Daylight Time', offset: 1,    alt: ''},
{name: 'Namibia Daylight Time',           offset: 1,    alt: ''},
{name: 'Jordan Daylight Time',            offset: 2,    alt: ''},
{name: 'GTB Daylight Time',               offset: 2,    alt: ''},
{name: 'Middle East Daylight Time',       offset: 2,    alt: ''},
{name: 'Egypt Daylight Time',             offset: 2,    alt: ''},
{name: 'Syria Daylight Time',             offset: 2,    alt: ''},
{name: 'E. Europe Daylight Time',         offset: 2,    alt: ''},
{name: 'South Africa Daylight Time',      offset: 2,    alt: ''},
{name: 'FLE Daylight Time',               offset: 2,    alt: ''},
{name: 'Turkey Daylight Time',            offset: 2,    alt: ''},
{name: 'Jerusalem Daylight Time',         offset: 2,    alt: ''},
{name: 'Russia TZ 1 Daylight Time',       offset: 2,    alt: ''},
{name: 'Libya Daylight Time',             offset: 2,    alt: ''},
{name: 'Arabic Daylight Time',            offset: 3,    alt: ''},
{name: 'Arab Daylight Time',              offset: 3,    alt: ''},
{name: 'Belarus Daylight Time',           offset: 3,    alt: ''},
{name: 'Russia TZ 2 Daylight Time',       offset: 3,    alt: ''},
{name: 'E. Africa Daylight Time',         offset: 3,    alt: ''},
{name: 'Iran Daylight Time',              offset: 3.5,  alt: ''},
{name: 'Arabian Daylight Time',           offset: 4,    alt: ''},
{name: 'Azerbaijan Daylight Time',        offset: 4,    alt: ''},
{name: 'Russia TZ 3 Daylight Time',       offset: 4,    alt: ''},
{name: 'Mauritius Daylight Time',         offset: 4,    alt: ''},
{name: 'Georgian Daylight Time',          offset: 4,    alt: ''},
{name: 'Caucasus Daylight Time',          offset: 4,    alt: ''},
{name: 'Afghanistan Daylight Time',       offset: 4.5,  alt: ''},
{name: 'West Asia Daylight Time',         offset: 5,    alt: ''},
{name: 'Russia TZ 4 Daylight Time',       offset: 5,    alt: ''},
{name: 'Pakistan Daylight Time',          offset: 5,    alt: ''},
{name: 'India Daylight Time',             offset: 5.5,  alt: ''},
{name: 'Sri Lanka Daylight Time',         offset: 5.5,  alt: ''},
{name: 'Nepal Daylight Time',             offset: 5.75, alt: ''},
{name: 'Central Asia Daylight Time',      offset: 6,    alt: ''},
{name: 'Bangladesh Daylight Time',        offset: 6,    alt: ''},
{name: 'Russia TZ 5 Daylight Time',       offset: 6,    alt: ''},
{name: 'Myanmar Daylight Time',           offset: 6.5,  alt: ''},
{name: 'SE Asia Daylight Time',           offset: 7,    alt: ''},
{name: 'Russia TZ 6 Daylight Time',       offset: 7,    alt: ''},
{name: 'China Daylight Time',             offset: 8,    alt: ''},
{name: 'Russia TZ 7 Daylight Time',       offset: 8,    alt: ''},
{name: 'Malay Peninsula Daylight Time',   offset: 8,    alt: ''},
{name: 'W. Australia Daylight Time',      offset: 8,    alt: ''},
{name: 'Taipei Daylight Time',            offset: 8,    alt: ''},
{name: 'Ulaanbaatar Daylight Time',       offset: 8,    alt: ''},
{name: 'Tokyo Daylight Time',             offset: 9,    alt: ''},
{name: 'Korea Daylight Time',             offset: 9,    alt: ''},
{name: 'Russia TZ 8 Daylight Time',       offset: 9,    alt: ''},
{name: 'Cen. Australia Daylight Time',    offset: 9.5,  alt: ''},
{name: 'AUS Central Daylight Time',       offset: 9.5,  alt: ''},
{name: 'E. Australia Daylight Time',      offset: 10,   alt: ''},
{name: 'AUS Eastern Daylight Time',       offset: 10,   alt: ''},
{name: 'West Pacific Daylight Time',      offset: 10,   alt: ''},
{name: 'Tasmania Daylight Time',          offset: 10,   alt: ''},
{name: 'Magadan Daylight Time',           offset: 10,   alt: ''},
{name: 'Russia TZ 9 Daylight Time',       offset: 10,   alt: ''},
{name: 'Russia TZ 10 Daylight Time',      offset: 11,   alt: ''},
{name: 'Central Pacific Daylight Time',   offset: 11,   alt: ''},
{name: 'Russia TZ 11 Daylight Time',      offset: 12,   alt: ''},
{name: 'New Zealand Daylight Time',       offset: 12,   alt: ''},
{name: 'UTC+12',                          offset: 12,   alt: ''},
{name: 'Fiji Daylight Time',              offset: 12,   alt: ''},
{name: 'Kamchatka Daylight Time',         offset: 12,   alt: ''},
{name: 'Tonga Daylight Time',             offset: 13,   alt: ''},
{name: 'Samoa Daylight Time',             offset: 13,   alt: ''},
{name: 'Line Islands Daylight Time',      offset: 14,   alt: ''}
]

Ответ 1

Улучшенный ответ

Функциональность, описанная в моем первоначальном ответе (ниже), теперь доступна в моей библиотеке TimeZoneConverter для .NET. Вся тяжелая работа выполняется для вас, и она обновляется с изменениями в мировых часовых поясах. Примеры в файле readme показывают, как конвертировать между идентификаторами Windows, IANA и Rails.

Поскольку приложение, описанное в вопросе, находится в Rails, я предлагаю запустить фоновое задание в .NET для преобразования идентификаторов часовых поясов Windows в те, которые необходимы в вашем приложении Rails, и сохранить их в отдельном столбце.


Оригинальный ответ

Ресурс, который вы ищете, - это файл сопоставления Windows для IANA, который поддерживается как часть проекта Unicode CLDR. Файл находится в релизе CLDR в common/supplemental/windowsZones.xml, и вы можете найти в нем текущую "версию разработки" здесь.

Помните о нескольких вещах:

  • Файл обновляется по мере появления новых часовых поясов из Microsoft и из IANA, или иногда, когда правительства меняют свои правила часового пояса настолько, что применяются разные сопоставления.

  • Смещения в вашем списке будут просто стандартным смещением, то есть тем, который применяется, когда переход на летнее время не действует. "Часовой пояс" состоит из стандартных смещений, смещений дневного света и конкретных дат и времени переходов ДСТ, а также истории изменений смещений и переходов.

  • Названия часовых поясов Rails не должны использоваться вне Rails. Я понимаю, что они были созданы до того, как Rails решила использовать стандартные часовые пояса IANA/Olson, а позже, когда Ruby tzinfo gem стал жизнеспособным, зоны Rails были обновлены с помощью константы MAPPING, показанной на этой странице , после чего некоторые были добавлены после того, как возникли отдельные жалобы. Если возможно, просто используйте часовые пояса IANA напрямую, используя драгоценный камень tzinfo. Если нет, то вы пройдете два слоя сопоставления (Microsoft → IANA → Rails).

  • Я не знаю специфической реализации CLDR-привязок для Rails. Я проверил несколько проектов CLDR для Rails и обнаружил, что они не включают эту часть CLDR. Однако, если у вас есть контроль над Windows-вещами, вы можете подумать об использовании реализации .NET. Я описываю в этом ответе. Вы должны преобразовать Windows в IANA на стороне Windows, затем либо использовать зоны IANA напрямую с tzinfo, либо сопоставить зоны Rails в своем приложении Rails.

  • Также осознайте, что количество часовых поясов Rails значительно меньше, чем количество поддерживаемых IANA. Я не проверял, но, вероятно, некоторые зоны Windows отображают зоны IANA, которые не находятся в Rails. Кроме того, есть несколько зон Rails, которые имеют несколько записей Rails, но только одно отображение IANA - по существу, делает их эквивалентными псевдонимами.

  • Оба Rails и Windows используют "UTC" в качестве идентификатора зоны, который Rails отображает "Etc/UTC", но CLDR отображается на "Etc/GMT". Вам придется обрабатывать это вручную.

  • Наконец, признайте, что CLDR использует "стабильные" идентификаторы по-другому, чем IANA "канонические" идентификаторы, что может вызвать некоторые трудности при отображении.

    • В качестве примера рассмотрим, что зона Microsoft "Стандартное время Индии" сопоставляется с "Asia/Calcutta" в CLDR, потому что это была исходная зона IANA. Однако IANA изменила зону на "Азия/Калькутта" и установила связь для обратной совместимости для "Азия/Калькутта" . Когда вы смотрите в константу Rails MAPPING, есть четыре зоны Rails: "Ченнай", "Калькутта", "Мумбаи" и "Нью-Дели" - все они сопоставляются с "Азия/Калькутта" .

    • Чтобы преодолеть это, вам также понадобится другой файл из CLDR, common/bcp47/timezone.xml. Вы можете использовать этот файл, чтобы найти все ссылки между псевдонимами IANA, которые могут помочь вам вернуться в зону Rails.

Так что да, возможно - но это нелегко.;)

Я выполнил текущие сопоставления для вас:

"Windows","IANA","Rails"
"W. Central Africa Standard Time","Africa/Algiers","West Central Africa"
"Egypt Standard Time","Africa/Cairo","Cairo"
"Morocco Standard Time","Africa/Casablanca","Casablanca"
"South Africa Standard Time","Africa/Harare","Harare"
"South Africa Standard Time","Africa/Johannesburg","Pretoria"
"Greenwich Standard Time","Africa/Monrovia","Monrovia"
"E. Africa Standard Time","Africa/Nairobi","Nairobi"
"Argentina Standard Time","America/Argentina/Buenos_Aires","Buenos Aires"
"SA Pacific Standard Time","America/Bogota","Bogota"
"Venezuela Standard Time","America/Caracas","Caracas"
"Central Standard Time","America/Chicago","Central Time (US & Canada)"
"Mountain Standard Time (Mexico)","America/Chihuahua","Chihuahua"
"Mountain Standard Time","America/Denver","Mountain Time (US & Canada)"
"Greenland Standard Time","America/Godthab","Greenland"
"Central America Standard Time","America/Guatemala","Central America"
"SA Western Standard Time","America/Guyana","Georgetown"
"Atlantic Standard Time","America/Halifax","Atlantic Time (Canada)"
"US Eastern Standard Time","America/Indiana/Indianapolis","Indiana (East)"
"Alaskan Standard Time","America/Juneau","Alaska"
"SA Western Standard Time","America/La_Paz","La Paz"
"SA Pacific Standard Time","America/Lima","Lima"
"SA Pacific Standard Time","America/Lima","Quito"
"Pacific Standard Time","America/Los_Angeles","Pacific Time (US & Canada)"
"Mountain Standard Time (Mexico)","America/Mazatlan","Mazatlan"
"Central Standard Time (Mexico)","America/Mexico_City","Guadalajara"
"Central Standard Time (Mexico)","America/Mexico_City","Mexico City"
"Central Standard Time (Mexico)","America/Monterrey","Monterrey"
"Montevideo Standard Time","America/Montevideo","Montevideo"
"Eastern Standard Time","America/New_York","Eastern Time (US & Canada)"
"US Mountain Standard Time","America/Phoenix","Arizona"
"Canada Central Standard Time","America/Regina","Saskatchewan"
"Pacific SA Standard Time","America/Santiago","Santiago"
"E. South America Standard Time","America/Sao_Paulo","Brasilia"
"Newfoundland Standard Time","America/St_Johns","Newfoundland"
"Pacific Standard Time","America/Tijuana","Tijuana"
"Central Asia Standard Time","Asia/Almaty","Almaty"
"Arabic Standard Time","Asia/Baghdad","Baghdad"
"Azerbaijan Standard Time","Asia/Baku","Baku"
"SE Asia Standard Time","Asia/Bangkok","Bangkok"
"SE Asia Standard Time","Asia/Bangkok","Hanoi"
"China Standard Time","Asia/Chongqing","Chongqing"
"Sri Lanka Standard Time","Asia/Colombo","Sri Jayawardenepura"
"Bangladesh Standard Time","Asia/Dhaka","Astana"
"Bangladesh Standard Time","Asia/Dhaka","Dhaka"
"China Standard Time","Asia/Hong_Kong","Hong Kong"
"North Asia East Standard Time","Asia/Irkutsk","Irkutsk"
"SE Asia Standard Time","Asia/Jakarta","Jakarta"
"Israel Standard Time","Asia/Jerusalem","Jerusalem"
"Afghanistan Standard Time","Asia/Kabul","Kabul"
"Russia Time Zone 11","Asia/Kamchatka","Kamchatka"
"Pakistan Standard Time","Asia/Karachi","Islamabad"
"Pakistan Standard Time","Asia/Karachi","Karachi"
"Nepal Standard Time","Asia/Kathmandu","Kathmandu"
"India Standard Time","Asia/Kolkata","Chennai"
"India Standard Time","Asia/Kolkata","Kolkata"
"India Standard Time","Asia/Kolkata","Mumbai"
"India Standard Time","Asia/Kolkata","New Delhi"
"North Asia Standard Time","Asia/Krasnoyarsk","Krasnoyarsk"
"Singapore Standard Time","Asia/Kuala_Lumpur","Kuala Lumpur"
"Arab Standard Time","Asia/Kuwait","Kuwait"
"Magadan Standard Time","Asia/Magadan","Magadan"
"Arabian Standard Time","Asia/Muscat","Abu Dhabi"
"Arabian Standard Time","Asia/Muscat","Muscat"
"N. Central Asia Standard Time","Asia/Novosibirsk","Novosibirsk"
"Myanmar Standard Time","Asia/Rangoon","Rangoon"
"Arab Standard Time","Asia/Riyadh","Riyadh"
"Korea Standard Time","Asia/Seoul","Seoul"
"China Standard Time","Asia/Shanghai","Beijing"
"Singapore Standard Time","Asia/Singapore","Singapore"
"Russia Time Zone 10","Asia/Srednekolymsk","Srednekolymsk"
"Taipei Standard Time","Asia/Taipei","Taipei"
"West Asia Standard Time","Asia/Tashkent","Tashkent"
"Georgian Standard Time","Asia/Tbilisi","Tbilisi"
"Iran Standard Time","Asia/Tehran","Tehran"
"Tokyo Standard Time","Asia/Tokyo","Osaka"
"Tokyo Standard Time","Asia/Tokyo","Sapporo"
"Tokyo Standard Time","Asia/Tokyo","Tokyo"
"Ulaanbaatar Standard Time","Asia/Ulaanbaatar","Ulaanbaatar"
"Central Asia Standard Time","Asia/Urumqi","Urumqi"
"Vladivostok Standard Time","Asia/Vladivostok","Vladivostok"
"Yakutsk Standard Time","Asia/Yakutsk","Yakutsk"
"Ekaterinburg Standard Time","Asia/Yekaterinburg","Ekaterinburg"
"Caucasus Standard Time","Asia/Yerevan","Yerevan"
"Azores Standard Time","Atlantic/Azores","Azores"
"Cape Verde Standard Time","Atlantic/Cape_Verde","Cape Verde Is."
"UTC-02","Atlantic/South_Georgia","Mid-Atlantic"
"Cen. Australia Standard Time","Australia/Adelaide","Adelaide"
"E. Australia Standard Time","Australia/Brisbane","Brisbane"
"AUS Central Standard Time","Australia/Darwin","Darwin"
"Tasmania Standard Time","Australia/Hobart","Hobart"
"AUS Eastern Standard Time","Australia/Melbourne","Canberra"
"AUS Eastern Standard Time","Australia/Melbourne","Melbourne"
"W. Australia Standard Time","Australia/Perth","Perth"
"AUS Eastern Standard Time","Australia/Sydney","Sydney"
"UTC","Etc/UTC","UTC"
"W. Europe Standard Time","Europe/Amsterdam","Amsterdam"
"GTB Standard Time","Europe/Athens","Athens"
"Central Europe Standard Time","Europe/Belgrade","Belgrade"
"W. Europe Standard Time","Europe/Berlin","Berlin"
"W. Europe Standard Time","Europe/Berlin","Bern"
"Central Europe Standard Time","Europe/Bratislava","Bratislava"
"Romance Standard Time","Europe/Brussels","Brussels"
"GTB Standard Time","Europe/Bucharest","Bucharest"
"Central Europe Standard Time","Europe/Budapest","Budapest"
"Romance Standard Time","Europe/Copenhagen","Copenhagen"
"GMT Standard Time","Europe/Dublin","Dublin"
"FLE Standard Time","Europe/Helsinki","Helsinki"
"Turkey Standard Time","Europe/Istanbul","Istanbul"
"Kaliningrad Standard Time","Europe/Kaliningrad","Kaliningrad"
"FLE Standard Time","Europe/Kiev","Kyiv"
"GMT Standard Time","Europe/Lisbon","Lisbon"
"Central Europe Standard Time","Europe/Ljubljana","Ljubljana"
"GMT Standard Time","Europe/London","Edinburgh"
"GMT Standard Time","Europe/London","London"
"Romance Standard Time","Europe/Madrid","Madrid"
"Belarus Standard Time","Europe/Minsk","Minsk"
"Russian Standard Time","Europe/Moscow","Moscow"
"Russian Standard Time","Europe/Moscow","St. Petersburg"
"Romance Standard Time","Europe/Paris","Paris"
"Central Europe Standard Time","Europe/Prague","Prague"
"FLE Standard Time","Europe/Riga","Riga"
"W. Europe Standard Time","Europe/Rome","Rome"
"Russia Time Zone 3","Europe/Samara","Samara"
"Central European Standard Time","Europe/Sarajevo","Sarajevo"
"Central European Standard Time","Europe/Skopje","Skopje"
"FLE Standard Time","Europe/Sofia","Sofia"
"W. Europe Standard Time","Europe/Stockholm","Stockholm"
"FLE Standard Time","Europe/Tallinn","Tallinn"
"W. Europe Standard Time","Europe/Vienna","Vienna"
"FLE Standard Time","Europe/Vilnius","Vilnius"
"Russian Standard Time","Europe/Volgograd","Volgograd"
"Central European Standard Time","Europe/Warsaw","Warsaw"
"Central European Standard Time","Europe/Zagreb","Zagreb"
"Samoa Standard Time","Pacific/Apia","Samoa"
"New Zealand Standard Time","Pacific/Auckland","Auckland"
"New Zealand Standard Time","Pacific/Auckland","Wellington"
"Tonga Standard Time","Pacific/Fakaofo","Tokelau Is."
"Fiji Standard Time","Pacific/Fiji","Fiji"
"Central Pacific Standard Time","Pacific/Guadalcanal","Solomon Is."
"West Pacific Standard Time","Pacific/Guam","Guam"
"Hawaiian Standard Time","Pacific/Honolulu","Hawaii"
"UTC+12","Pacific/Majuro","Marshall Is."
"UTC-11","Pacific/Midway","International Date Line West"
"UTC-11","Pacific/Midway","Midway Island"
"Central Pacific Standard Time","Pacific/Noumea","New Caledonia"
"UTC-11","Pacific/Pago_Pago","American Samoa"
"West Pacific Standard Time","Pacific/Port_Moresby","Port Moresby"
"Tonga Standard Time","Pacific/Tongatapu","Nuku'alofa"

Обратите внимание, что в приведенном выше списке указаны записи, в которых более одной зоны Rails отображается обратно в ту же зону Windows. Вы можете выбрать только один из них при сопоставлении в направлении Windows-Rails.

Кроме того, в приведенном выше списке не указаны зоны, которые не могут быть отображены, которые являются следующими (CSV):

"Windows","IANA","Rails"
"","Pacific/Chatham","Chatham Is."
"Dateline Standard Time","Etc/GMT+12",""
"Pacific Standard Time (Mexico)","America/Santa_Isabel",""
"Eastern Standard Time (Mexico)","America/Cancun",""
"Paraguay Standard Time","America/Asuncion",""
"Central Brazilian Standard Time","America/Cuiaba",""
"SA Eastern Standard Time","America/Cayenne",""
"Bahia Standard Time","America/Bahia",""
"Namibia Standard Time","Africa/Windhoek",""
"Jordan Standard Time","Asia/Amman",""
"Middle East Standard Time","Asia/Beirut",""
"Syria Standard Time","Asia/Damascus",""
"E. Europe Standard Time","Etc/GMT-2",""
"Libya Standard Time","Africa/Tripoli",""
"Mauritius Standard Time","Indian/Mauritius",""
"Line Islands Standard Time","Pacific/Kiritimati",""