mirror of
https://github.com/odin-lang/Odin.git
synced 2026-06-04 17:54:39 +00:00
Use array with linear search rather than a hash map.
This commit is contained in:
@@ -11,146 +11,147 @@ TZ_Abbrev :: struct {
|
||||
dst: string,
|
||||
}
|
||||
|
||||
tz_abbrevs := map[string]TZ_Abbrev {
|
||||
"Egypt Standard Time" = {"EET", "EEST"}, // Africa/Cairo
|
||||
"Morocco Standard Time" = {"+00", "+01"}, // Africa/Casablanca
|
||||
"South Africa Standard Time" = {"SAST", "SAST"}, // Africa/Johannesburg
|
||||
"South Sudan Standard Time" = {"CAT", "CAT"}, // Africa/Juba
|
||||
"Sudan Standard Time" = {"CAT", "CAT"}, // Africa/Khartoum
|
||||
"W. Central Africa Standard Time" = {"WAT", "WAT"}, // Africa/Lagos
|
||||
"E. Africa Standard Time" = {"EAT", "EAT"}, // Africa/Nairobi
|
||||
"Sao Tome Standard Time" = {"GMT", "GMT"}, // Africa/Sao_Tome
|
||||
"Libya Standard Time" = {"EET", "EET"}, // Africa/Tripoli
|
||||
"Namibia Standard Time" = {"CAT", "CAT"}, // Africa/Windhoek
|
||||
"Aleutian Standard Time" = {"HST", "HDT"}, // America/Adak
|
||||
"Alaskan Standard Time" = {"AKST", "AKDT"}, // America/Anchorage
|
||||
"Tocantins Standard Time" = {"-03", "-03"}, // America/Araguaina
|
||||
"Paraguay Standard Time" = {"-04", "-03"}, // America/Asuncion
|
||||
"Bahia Standard Time" = {"-03", "-03"}, // America/Bahia
|
||||
"SA Pacific Standard Time" = {"-05", "-05"}, // America/Bogota
|
||||
"Argentina Standard Time" = {"-03", "-03"}, // America/Buenos_Aires
|
||||
"Eastern Standard Time (Mexico)" = {"EST", "EST"}, // America/Cancun
|
||||
"Venezuela Standard Time" = {"-04", "-04"}, // America/Caracas
|
||||
"SA Eastern Standard Time" = {"-03", "-03"}, // America/Cayenne
|
||||
"Central Standard Time" = {"CST", "CDT"}, // America/Chicago
|
||||
"Central Brazilian Standard Time" = {"-04", "-04"}, // America/Cuiaba
|
||||
"Mountain Standard Time" = {"MST", "MDT"}, // America/Denver
|
||||
"Greenland Standard Time" = {"-03", "-02"}, // America/Godthab
|
||||
"Turks And Caicos Standard Time" = {"EST", "EDT"}, // America/Grand_Turk
|
||||
"Central America Standard Time" = {"CST", "CST"}, // America/Guatemala
|
||||
"Atlantic Standard Time" = {"AST", "ADT"}, // America/Halifax
|
||||
"Cuba Standard Time" = {"CST", "CDT"}, // America/Havana
|
||||
"US Eastern Standard Time" = {"EST", "EDT"}, // America/Indianapolis
|
||||
"SA Western Standard Time" = {"-04", "-04"}, // America/La_Paz
|
||||
"Pacific Standard Time" = {"PST", "PDT"}, // America/Los_Angeles
|
||||
"Mountain Standard Time (Mexico)" = {"MST", "MST"}, // America/Mazatlan
|
||||
"Central Standard Time (Mexico)" = {"CST", "CST"}, // America/Mexico_City
|
||||
"Saint Pierre Standard Time" = {"-03", "-02"}, // America/Miquelon
|
||||
"Montevideo Standard Time" = {"-03", "-03"}, // America/Montevideo
|
||||
"Eastern Standard Time" = {"EST", "EDT"}, // America/New_York
|
||||
"US Mountain Standard Time" = {"MST", "MST"}, // America/Phoenix
|
||||
"Haiti Standard Time" = {"EST", "EDT"}, // America/Port-au-Prince
|
||||
"Magallanes Standard Time" = {"-03", "-03"}, // America/Punta_Arenas
|
||||
"Canada Central Standard Time" = {"CST", "CST"}, // America/Regina
|
||||
"Pacific SA Standard Time" = {"-04", "-03"}, // America/Santiago
|
||||
"E. South America Standard Time" = {"-03", "-03"}, // America/Sao_Paulo
|
||||
"Newfoundland Standard Time" = {"NST", "NDT"}, // America/St_Johns
|
||||
"Pacific Standard Time (Mexico)" = {"PST", "PDT"}, // America/Tijuana
|
||||
"Yukon Standard Time" = {"MST", "MST"}, // America/Whitehorse
|
||||
"Central Asia Standard Time" = {"+06", "+06"}, // Asia/Almaty
|
||||
"Jordan Standard Time" = {"+03", "+03"}, // Asia/Amman
|
||||
"Arabic Standard Time" = {"+03", "+03"}, // Asia/Baghdad
|
||||
"Azerbaijan Standard Time" = {"+04", "+04"}, // Asia/Baku
|
||||
"SE Asia Standard Time" = {"+07", "+07"}, // Asia/Bangkok
|
||||
"Altai Standard Time" = {"+07", "+07"}, // Asia/Barnaul
|
||||
"Middle East Standard Time" = {"EET", "EEST"}, // Asia/Beirut
|
||||
"India Standard Time" = {"IST", "IST"}, // Asia/Calcutta
|
||||
"Transbaikal Standard Time" = {"+09", "+09"}, // Asia/Chita
|
||||
"Sri Lanka Standard Time" = {"+0530", "+0530"}, // Asia/Colombo
|
||||
"Syria Standard Time" = {"+03", "+03"}, // Asia/Damascus
|
||||
"Bangladesh Standard Time" = {"+06", "+06"}, // Asia/Dhaka
|
||||
"Arabian Standard Time" = {"+04", "+04"}, // Asia/Dubai
|
||||
"West Bank Standard Time" = {"EET", "EEST"}, // Asia/Hebron
|
||||
"W. Mongolia Standard Time" = {"+07", "+07"}, // Asia/Hovd
|
||||
"North Asia East Standard Time" = {"+08", "+08"}, // Asia/Irkutsk
|
||||
"Israel Standard Time" = {"IST", "IDT"}, // Asia/Jerusalem
|
||||
"Afghanistan Standard Time" = {"+0430", "+0430"}, // Asia/Kabul
|
||||
"Russia Time Zone 11" = {"+12", "+12"}, // Asia/Kamchatka
|
||||
"Pakistan Standard Time" = {"PKT", "PKT"}, // Asia/Karachi
|
||||
"Nepal Standard Time" = {"+0545", "+0545"}, // Asia/Katmandu
|
||||
"North Asia Standard Time" = {"+07", "+07"}, // Asia/Krasnoyarsk
|
||||
"Magadan Standard Time" = {"+11", "+11"}, // Asia/Magadan
|
||||
"N. Central Asia Standard Time" = {"+07", "+07"}, // Asia/Novosibirsk
|
||||
"Omsk Standard Time" = {"+06", "+06"}, // Asia/Omsk
|
||||
"North Korea Standard Time" = {"KST", "KST"}, // Asia/Pyongyang
|
||||
"Qyzylorda Standard Time" = {"+05", "+05"}, // Asia/Qyzylorda
|
||||
"Myanmar Standard Time" = {"+0630", "+0630"}, // Asia/Rangoon
|
||||
"Arab Standard Time" = {"+03", "+03"}, // Asia/Riyadh
|
||||
"Sakhalin Standard Time" = {"+11", "+11"}, // Asia/Sakhalin
|
||||
"Korea Standard Time" = {"KST", "KST"}, // Asia/Seoul
|
||||
"China Standard Time" = {"CST", "CST"}, // Asia/Shanghai
|
||||
"Singapore Standard Time" = {"+08", "+08"}, // Asia/Singapore
|
||||
"Russia Time Zone 10" = {"+11", "+11"}, // Asia/Srednekolymsk
|
||||
"Taipei Standard Time" = {"CST", "CST"}, // Asia/Taipei
|
||||
"West Asia Standard Time" = {"+05", "+05"}, // Asia/Tashkent
|
||||
"Georgian Standard Time" = {"+04", "+04"}, // Asia/Tbilisi
|
||||
"Iran Standard Time" = {"+0330", "+0330"}, // Asia/Tehran
|
||||
"Tokyo Standard Time" = {"JST", "JST"}, // Asia/Tokyo
|
||||
"Tomsk Standard Time" = {"+07", "+07"}, // Asia/Tomsk
|
||||
"Ulaanbaatar Standard Time" = {"+08", "+08"}, // Asia/Ulaanbaatar
|
||||
"Vladivostok Standard Time" = {"+10", "+10"}, // Asia/Vladivostok
|
||||
"Yakutsk Standard Time" = {"+09", "+09"}, // Asia/Yakutsk
|
||||
"Ekaterinburg Standard Time" = {"+05", "+05"}, // Asia/Yekaterinburg
|
||||
"Caucasus Standard Time" = {"+04", "+04"}, // Asia/Yerevan
|
||||
"Azores Standard Time" = {"-01", "+00"}, // Atlantic/Azores
|
||||
"Cape Verde Standard Time" = {"-01", "-01"}, // Atlantic/Cape_Verde
|
||||
"Greenwich Standard Time" = {"GMT", "GMT"}, // Atlantic/Reykjavik
|
||||
"Cen. Australia Standard Time" = {"ACST", "ACDT"}, // Australia/Adelaide
|
||||
"E. Australia Standard Time" = {"AEST", "AEST"}, // Australia/Brisbane
|
||||
"AUS Central Standard Time" = {"ACST", "ACST"}, // Australia/Darwin
|
||||
"Aus Central W. Standard Time" = {"+0845", "+0845"}, // Australia/Eucla
|
||||
"Tasmania Standard Time" = {"AEST", "AEDT"}, // Australia/Hobart
|
||||
"Lord Howe Standard Time" = {"+1030", "+11"}, // Australia/Lord_Howe
|
||||
"W. Australia Standard Time" = {"AWST", "AWST"}, // Australia/Perth
|
||||
"AUS Eastern Standard Time" = {"AEST", "AEDT"}, // Australia/Sydney
|
||||
"UTC-11" = {"-11", "-11"}, // Etc/GMT+11
|
||||
"Dateline Standard Time" = {"-12", "-12"}, // Etc/GMT+12
|
||||
"UTC-02" = {"-02", "-02"}, // Etc/GMT+2
|
||||
"UTC-08" = {"-08", "-08"}, // Etc/GMT+8
|
||||
"UTC-09" = {"-09", "-09"}, // Etc/GMT+9
|
||||
"UTC+12" = {"+12", "+12"}, // Etc/GMT-12
|
||||
"UTC+13" = {"+13", "+13"}, // Etc/GMT-13
|
||||
"UTC" = {"UTC", "UTC"}, // Etc/UTC
|
||||
"Astrakhan Standard Time" = {"+04", "+04"}, // Europe/Astrakhan
|
||||
"W. Europe Standard Time" = {"CET", "CEST"}, // Europe/Berlin
|
||||
"GTB Standard Time" = {"EET", "EEST"}, // Europe/Bucharest
|
||||
"Central Europe Standard Time" = {"CET", "CEST"}, // Europe/Budapest
|
||||
"E. Europe Standard Time" = {"EET", "EEST"}, // Europe/Chisinau
|
||||
"Turkey Standard Time" = {"+03", "+03"}, // Europe/Istanbul
|
||||
"Kaliningrad Standard Time" = {"EET", "EET"}, // Europe/Kaliningrad
|
||||
"FLE Standard Time" = {"EET", "EEST"}, // Europe/Kiev
|
||||
"GMT Standard Time" = {"GMT", "BST"}, // Europe/London
|
||||
"Belarus Standard Time" = {"+03", "+03"}, // Europe/Minsk
|
||||
"Russian Standard Time" = {"MSK", "MSK"}, // Europe/Moscow
|
||||
"Romance Standard Time" = {"CET", "CEST"}, // Europe/Paris
|
||||
"Russia Time Zone 3" = {"+04", "+04"}, // Europe/Samara
|
||||
"Saratov Standard Time" = {"+04", "+04"}, // Europe/Saratov
|
||||
"Volgograd Standard Time" = {"MSK", "MSK"}, // Europe/Volgograd
|
||||
"Central European Standard Time" = {"CET", "CEST"}, // Europe/Warsaw
|
||||
"Mauritius Standard Time" = {"+04", "+04"}, // Indian/Mauritius
|
||||
"Samoa Standard Time" = {"+13", "+13"}, // Pacific/Apia
|
||||
"New Zealand Standard Time" = {"NZST", "NZDT"}, // Pacific/Auckland
|
||||
"Bougainville Standard Time" = {"+11", "+11"}, // Pacific/Bougainville
|
||||
"Chatham Islands Standard Time" = {"+1245", "+1345"}, // Pacific/Chatham
|
||||
"Easter Island Standard Time" = {"-06", "-05"}, // Pacific/Easter
|
||||
"Fiji Standard Time" = {"+12", "+12"}, // Pacific/Fiji
|
||||
"Central Pacific Standard Time" = {"+11", "+11"}, // Pacific/Guadalcanal
|
||||
"Hawaiian Standard Time" = {"HST", "HST"}, // Pacific/Honolulu
|
||||
"Line Islands Standard Time" = {"+14", "+14"}, // Pacific/Kiritimati
|
||||
"Marquesas Standard Time" = {"-0930", "-0930"}, // Pacific/Marquesas
|
||||
"Norfolk Standard Time" = {"+11", "+12"}, // Pacific/Norfolk
|
||||
"West Pacific Standard Time" = {"+10", "+10"}, // Pacific/Port_Moresby
|
||||
"Tonga Standard Time" = {"+13", "+13"}, // Pacific/Tongatapu
|
||||
@(rodata)
|
||||
tz_abbrevs := [?]struct{key: string, value: TZ_Abbrev}{
|
||||
{"Egypt Standard Time", {"EET", "EEST"}}, // Africa/Cairo
|
||||
{"Morocco Standard Time", {"+00", "+01"}}, // Africa/Casablanca
|
||||
{"South Africa Standard Time", {"SAST", "SAST"}}, // Africa/Johannesburg
|
||||
{"South Sudan Standard Time", {"CAT", "CAT"}}, // Africa/Juba
|
||||
{"Sudan Standard Time", {"CAT", "CAT"}}, // Africa/Khartoum
|
||||
{"W. Central Africa Standard Time", {"WAT", "WAT"}}, // Africa/Lagos
|
||||
{"E. Africa Standard Time", {"EAT", "EAT"}}, // Africa/Nairobi
|
||||
{"Sao Tome Standard Time", {"GMT", "GMT"}}, // Africa/Sao_Tome
|
||||
{"Libya Standard Time", {"EET", "EET"}}, // Africa/Tripoli
|
||||
{"Namibia Standard Time", {"CAT", "CAT"}}, // Africa/Windhoek
|
||||
{"Aleutian Standard Time", {"HST", "HDT"}}, // America/Adak
|
||||
{"Alaskan Standard Time", {"AKST", "AKDT"}}, // America/Anchorage
|
||||
{"Tocantins Standard Time", {"-03", "-03"}}, // America/Araguaina
|
||||
{"Paraguay Standard Time", {"-04", "-03"}}, // America/Asuncion
|
||||
{"Bahia Standard Time", {"-03", "-03"}}, // America/Bahia
|
||||
{"SA Pacific Standard Time", {"-05", "-05"}}, // America/Bogota
|
||||
{"Argentina Standard Time", {"-03", "-03"}}, // America/Buenos_Aires
|
||||
{"Eastern Standard Time (Mexico)", {"EST", "EST"}}, // America/Cancun
|
||||
{"Venezuela Standard Time", {"-04", "-04"}}, // America/Caracas
|
||||
{"SA Eastern Standard Time", {"-03", "-03"}}, // America/Cayenne
|
||||
{"Central Standard Time", {"CST", "CDT"}}, // America/Chicago
|
||||
{"Central Brazilian Standard Time", {"-04", "-04"}}, // America/Cuiaba
|
||||
{"Mountain Standard Time", {"MST", "MDT"}}, // America/Denver
|
||||
{"Greenland Standard Time", {"-03", "-02"}}, // America/Godthab
|
||||
{"Turks And Caicos Standard Time", {"EST", "EDT"}}, // America/Grand_Turk
|
||||
{"Central America Standard Time", {"CST", "CST"}}, // America/Guatemala
|
||||
{"Atlantic Standard Time", {"AST", "ADT"}}, // America/Halifax
|
||||
{"Cuba Standard Time", {"CST", "CDT"}}, // America/Havana
|
||||
{"US Eastern Standard Time", {"EST", "EDT"}}, // America/Indianapolis
|
||||
{"SA Western Standard Time", {"-04", "-04"}}, // America/La_Paz
|
||||
{"Pacific Standard Time", {"PST", "PDT"}}, // America/Los_Angeles
|
||||
{"Mountain Standard Time (Mexico)", {"MST", "MST"}}, // America/Mazatlan
|
||||
{"Central Standard Time (Mexico)", {"CST", "CST"}}, // America/Mexico_City
|
||||
{"Saint Pierre Standard Time", {"-03", "-02"}}, // America/Miquelon
|
||||
{"Montevideo Standard Time", {"-03", "-03"}}, // America/Montevideo
|
||||
{"Eastern Standard Time", {"EST", "EDT"}}, // America/New_York
|
||||
{"US Mountain Standard Time", {"MST", "MST"}}, // America/Phoenix
|
||||
{"Haiti Standard Time", {"EST", "EDT"}}, // America/Port-au-Prince
|
||||
{"Magallanes Standard Time", {"-03", "-03"}}, // America/Punta_Arenas
|
||||
{"Canada Central Standard Time", {"CST", "CST"}}, // America/Regina
|
||||
{"Pacific SA Standard Time", {"-04", "-03"}}, // America/Santiago
|
||||
{"E. South America Standard Time", {"-03", "-03"}}, // America/Sao_Paulo
|
||||
{"Newfoundland Standard Time", {"NST", "NDT"}}, // America/St_Johns
|
||||
{"Pacific Standard Time (Mexico)", {"PST", "PDT"}}, // America/Tijuana
|
||||
{"Yukon Standard Time", {"MST", "MST"}}, // America/Whitehorse
|
||||
{"Central Asia Standard Time", {"+06", "+06"}}, // Asia/Almaty
|
||||
{"Jordan Standard Time", {"+03", "+03"}}, // Asia/Amman
|
||||
{"Arabic Standard Time", {"+03", "+03"}}, // Asia/Baghdad
|
||||
{"Azerbaijan Standard Time", {"+04", "+04"}}, // Asia/Baku
|
||||
{"SE Asia Standard Time", {"+07", "+07"}}, // Asia/Bangkok
|
||||
{"Altai Standard Time", {"+07", "+07"}}, // Asia/Barnaul
|
||||
{"Middle East Standard Time", {"EET", "EEST"}}, // Asia/Beirut
|
||||
{"India Standard Time", {"IST", "IST"}}, // Asia/Calcutta
|
||||
{"Transbaikal Standard Time", {"+09", "+09"}}, // Asia/Chita
|
||||
{"Sri Lanka Standard Time", {"+0530", "+0530"}}, // Asia/Colombo
|
||||
{"Syria Standard Time", {"+03", "+03"}}, // Asia/Damascus
|
||||
{"Bangladesh Standard Time", {"+06", "+06"}}, // Asia/Dhaka
|
||||
{"Arabian Standard Time", {"+04", "+04"}}, // Asia/Dubai
|
||||
{"West Bank Standard Time", {"EET", "EEST"}}, // Asia/Hebron
|
||||
{"W. Mongolia Standard Time", {"+07", "+07"}}, // Asia/Hovd
|
||||
{"North Asia East Standard Time", {"+08", "+08"}}, // Asia/Irkutsk
|
||||
{"Israel Standard Time", {"IST", "IDT"}}, // Asia/Jerusalem
|
||||
{"Afghanistan Standard Time", {"+0430", "+0430"}}, // Asia/Kabul
|
||||
{"Russia Time Zone 11", {"+12", "+12"}}, // Asia/Kamchatka
|
||||
{"Pakistan Standard Time", {"PKT", "PKT"}}, // Asia/Karachi
|
||||
{"Nepal Standard Time", {"+0545", "+0545"}}, // Asia/Katmandu
|
||||
{"North Asia Standard Time", {"+07", "+07"}}, // Asia/Krasnoyarsk
|
||||
{"Magadan Standard Time", {"+11", "+11"}}, // Asia/Magadan
|
||||
{"N. Central Asia Standard Time", {"+07", "+07"}}, // Asia/Novosibirsk
|
||||
{"Omsk Standard Time", {"+06", "+06"}}, // Asia/Omsk
|
||||
{"North Korea Standard Time", {"KST", "KST"}}, // Asia/Pyongyang
|
||||
{"Qyzylorda Standard Time", {"+05", "+05"}}, // Asia/Qyzylorda
|
||||
{"Myanmar Standard Time", {"+0630", "+0630"}}, // Asia/Rangoon
|
||||
{"Arab Standard Time", {"+03", "+03"}}, // Asia/Riyadh
|
||||
{"Sakhalin Standard Time", {"+11", "+11"}}, // Asia/Sakhalin
|
||||
{"Korea Standard Time", {"KST", "KST"}}, // Asia/Seoul
|
||||
{"China Standard Time", {"CST", "CST"}}, // Asia/Shanghai
|
||||
{"Singapore Standard Time", {"+08", "+08"}}, // Asia/Singapore
|
||||
{"Russia Time Zone 10", {"+11", "+11"}}, // Asia/Srednekolymsk
|
||||
{"Taipei Standard Time", {"CST", "CST"}}, // Asia/Taipei
|
||||
{"West Asia Standard Time", {"+05", "+05"}}, // Asia/Tashkent
|
||||
{"Georgian Standard Time", {"+04", "+04"}}, // Asia/Tbilisi
|
||||
{"Iran Standard Time", {"+0330", "+0330"}}, // Asia/Tehran
|
||||
{"Tokyo Standard Time", {"JST", "JST"}}, // Asia/Tokyo
|
||||
{"Tomsk Standard Time", {"+07", "+07"}}, // Asia/Tomsk
|
||||
{"Ulaanbaatar Standard Time", {"+08", "+08"}}, // Asia/Ulaanbaatar
|
||||
{"Vladivostok Standard Time", {"+10", "+10"}}, // Asia/Vladivostok
|
||||
{"Yakutsk Standard Time", {"+09", "+09"}}, // Asia/Yakutsk
|
||||
{"Ekaterinburg Standard Time", {"+05", "+05"}}, // Asia/Yekaterinburg
|
||||
{"Caucasus Standard Time", {"+04", "+04"}}, // Asia/Yerevan
|
||||
{"Azores Standard Time", {"-01", "+00"}}, // Atlantic/Azores
|
||||
{"Cape Verde Standard Time", {"-01", "-01"}}, // Atlantic/Cape_Verde
|
||||
{"Greenwich Standard Time", {"GMT", "GMT"}}, // Atlantic/Reykjavik
|
||||
{"Cen. Australia Standard Time", {"ACST", "ACDT"}}, // Australia/Adelaide
|
||||
{"E. Australia Standard Time", {"AEST", "AEST"}}, // Australia/Brisbane
|
||||
{"AUS Central Standard Time", {"ACST", "ACST"}}, // Australia/Darwin
|
||||
{"Aus Central W. Standard Time", {"+0845", "+0845"}}, // Australia/Eucla
|
||||
{"Tasmania Standard Time", {"AEST", "AEDT"}}, // Australia/Hobart
|
||||
{"Lord Howe Standard Time", {"+1030", "+11"}}, // Australia/Lord_Howe
|
||||
{"W. Australia Standard Time", {"AWST", "AWST"}}, // Australia/Perth
|
||||
{"AUS Eastern Standard Time", {"AEST", "AEDT"}}, // Australia/Sydney
|
||||
{"UTC-11", {"-11", "-11"}}, // Etc/GMT+11
|
||||
{"Dateline Standard Time", {"-12", "-12"}}, // Etc/GMT+12
|
||||
{"UTC-02", {"-02", "-02"}}, // Etc/GMT+2
|
||||
{"UTC-08", {"-08", "-08"}}, // Etc/GMT+8
|
||||
{"UTC-09", {"-09", "-09"}}, // Etc/GMT+9
|
||||
{"UTC+12", {"+12", "+12"}}, // Etc/GMT-12
|
||||
{"UTC+13", {"+13", "+13"}}, // Etc/GMT-13
|
||||
{"UTC", {"UTC", "UTC"}}, // Etc/UTC
|
||||
{"Astrakhan Standard Time", {"+04", "+04"}}, // Europe/Astrakhan
|
||||
{"W. Europe Standard Time", {"CET", "CEST"}}, // Europe/Berlin
|
||||
{"GTB Standard Time", {"EET", "EEST"}}, // Europe/Bucharest
|
||||
{"Central Europe Standard Time", {"CET", "CEST"}}, // Europe/Budapest
|
||||
{"E. Europe Standard Time", {"EET", "EEST"}}, // Europe/Chisinau
|
||||
{"Turkey Standard Time", {"+03", "+03"}}, // Europe/Istanbul
|
||||
{"Kaliningrad Standard Time", {"EET", "EET"}}, // Europe/Kaliningrad
|
||||
{"FLE Standard Time", {"EET", "EEST"}}, // Europe/Kiev
|
||||
{"GMT Standard Time", {"GMT", "BST"}}, // Europe/London
|
||||
{"Belarus Standard Time", {"+03", "+03"}}, // Europe/Minsk
|
||||
{"Russian Standard Time", {"MSK", "MSK"}}, // Europe/Moscow
|
||||
{"Romance Standard Time", {"CET", "CEST"}}, // Europe/Paris
|
||||
{"Russia Time Zone 3", {"+04", "+04"}}, // Europe/Samara
|
||||
{"Saratov Standard Time", {"+04", "+04"}}, // Europe/Saratov
|
||||
{"Volgograd Standard Time", {"MSK", "MSK"}}, // Europe/Volgograd
|
||||
{"Central European Standard Time", {"CET", "CEST"}}, // Europe/Warsaw
|
||||
{"Mauritius Standard Time", {"+04", "+04"}}, // Indian/Mauritius
|
||||
{"Samoa Standard Time", {"+13", "+13"}}, // Pacific/Apia
|
||||
{"New Zealand Standard Time", {"NZST", "NZDT"}}, // Pacific/Auckland
|
||||
{"Bougainville Standard Time", {"+11", "+11"}}, // Pacific/Bougainville
|
||||
{"Chatham Islands Standard Time", {"+1245", "+1345"}}, // Pacific/Chatham
|
||||
{"Easter Island Standard Time", {"-06", "-05"}}, // Pacific/Easter
|
||||
{"Fiji Standard Time", {"+12", "+12"}}, // Pacific/Fiji
|
||||
{"Central Pacific Standard Time", {"+11", "+11"}}, // Pacific/Guadalcanal
|
||||
{"Hawaiian Standard Time", {"HST", "HST"}}, // Pacific/Honolulu
|
||||
{"Line Islands Standard Time", {"+14", "+14"}}, // Pacific/Kiritimati
|
||||
{"Marquesas Standard Time", {"-0930", "-0930"}}, // Pacific/Marquesas
|
||||
{"Norfolk Standard Time", {"+11", "+12"}}, // Pacific/Norfolk
|
||||
{"West Pacific Standard Time", {"+10", "+10"}}, // Pacific/Port_Moresby
|
||||
{"Tonga Standard Time", {"+13", "+13"}}, // Pacific/Tongatapu
|
||||
}
|
||||
|
||||
iana_to_windows_tz :: proc(iana_name: string, allocator := context.allocator) -> (name: string, success: bool) {
|
||||
@@ -269,7 +270,18 @@ _region_load :: proc(reg_str: string, allocator := context.allocator) -> (out_re
|
||||
defer delete(wintz_name, allocator)
|
||||
defer delete(iana_name, allocator)
|
||||
|
||||
abbrevs := tz_abbrevs[wintz_name] or_return
|
||||
abbrevs: TZ_Abbrev
|
||||
abbrevs_ok: bool
|
||||
for pair in tz_abbrevs {
|
||||
if pair.key == wintz_name {
|
||||
abbrevs = pair.value
|
||||
abbrevs_ok = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if abbrevs_ok {
|
||||
return
|
||||
}
|
||||
if abbrevs.std == "UTC" && abbrevs.dst == abbrevs.std {
|
||||
return nil, true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user