Path: blob/aarch64-shenandoah-jdk8u272-b10/jdk/src/share/classes/java/time/format/ZoneName.java
38918 views
/*1* Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.2* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3*4* This code is free software; you can redistribute it and/or modify it5* under the terms of the GNU General Public License version 2 only, as6* published by the Free Software Foundation. Oracle designates this7* particular file as subject to the "Classpath" exception as provided8* by Oracle in the LICENSE file that accompanied this code.9*10* This code is distributed in the hope that it will be useful, but WITHOUT11* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or12* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License13* version 2 for more details (a copy is included in the LICENSE file that14* accompanied this code).15*16* You should have received a copy of the GNU General Public License version17* 2 along with this work; if not, write to the Free Software Foundation,18* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.19*20* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA21* or visit www.oracle.com if you need additional information or have any22* questions.23*/24package java.time.format;2526import java.util.HashMap;27import java.util.Locale;28import java.util.Map;2930/**31* A helper class to map a zone name to metazone and back to the32* appropriate zone id for the particular locale.33* <p>34* The zid<->metazone mappings are based on CLDR metaZones.xml.35* The alias mappings are based on Link entries in tzdb data files.36*/37class ZoneName {3839public static String toZid(String zid, Locale locale) {40String mzone = zidToMzone.get(zid);41if (mzone == null && aliases.containsKey(zid)) {42zid = aliases.get(zid);43mzone = zidToMzone.get(zid);44}45if (mzone != null) {46Map<String, String> map = mzoneToZidL.get(mzone);47if (map != null && map.containsKey(locale.getCountry())) {48zid = map.get(locale.getCountry());49} else {50zid = mzoneToZid.get(mzone);51}52}53return toZid(zid);54}5556public static String toZid(String zid) {57if (aliases.containsKey(zid)) {58return aliases.get(zid);59}60return zid;61}6263private static final String[] zidMap = new String[] {64"Pacific/Rarotonga", "Cook", "Pacific/Rarotonga",65"Europe/Tirane", "Europe_Central", "Europe/Paris",66"America/Recife", "Brasilia", "America/Sao_Paulo",67"America/Argentina/San_Juan", "Argentina", "America/Buenos_Aires",68"Asia/Kolkata", "India", "Asia/Calcutta",69"America/Guayaquil", "Ecuador", "America/Guayaquil",70"Europe/Samara", "Moscow", "Europe/Moscow",71"Indian/Antananarivo", "Africa_Eastern", "Africa/Nairobi",72"America/Santa_Isabel", "America_Pacific", "America/Los_Angeles",73"America/Montserrat", "Atlantic", "America/Halifax",74"Pacific/Port_Moresby", "Papua_New_Guinea", "Pacific/Port_Moresby",75"Europe/Paris", "Europe_Central", "Europe/Paris",76"America/Argentina/Salta", "Argentina", "America/Buenos_Aires",77"Asia/Omsk", "Omsk", "Asia/Omsk",78"Africa/Ceuta", "Europe_Central", "Europe/Paris",79"America/Argentina/San_Luis", "Argentina_Western", "America/Argentina/San_Luis",80"America/Atikokan", "America_Eastern", "America/New_York",81"Asia/Vladivostok", "Vladivostok", "Asia/Vladivostok",82"America/Argentina/Jujuy", "Argentina", "America/Buenos_Aires",83"Asia/Almaty", "Kazakhstan_Eastern", "Asia/Almaty",84"Atlantic/Canary", "Europe_Western", "Atlantic/Canary",85"Asia/Bangkok", "Indochina", "Asia/Saigon",86"America/Caracas", "Venezuela", "America/Caracas",87"Australia/Hobart", "Australia_Eastern", "Australia/Sydney",88"America/Havana", "Cuba", "America/Havana",89"Africa/Malabo", "Africa_Western", "Africa/Lagos",90"Australia/Lord_Howe", "Lord_Howe", "Australia/Lord_Howe",91"Pacific/Fakaofo", "Tokelau", "Pacific/Fakaofo",92"America/Matamoros", "America_Central", "America/Chicago",93"America/Guadeloupe", "Atlantic", "America/Halifax",94"Europe/Helsinki", "Europe_Eastern", "Europe/Bucharest",95"Asia/Calcutta", "India", "Asia/Calcutta",96"Africa/Kinshasa", "Africa_Western", "Africa/Lagos",97"America/Miquelon", "Pierre_Miquelon", "America/Miquelon",98"Europe/Athens", "Europe_Eastern", "Europe/Bucharest",99"Asia/Novosibirsk", "Novosibirsk", "Asia/Novosibirsk",100"Indian/Cocos", "Cocos", "Indian/Cocos",101"Africa/Bujumbura", "Africa_Central", "Africa/Maputo",102"Europe/Mariehamn", "Europe_Eastern", "Europe/Bucharest",103"America/Winnipeg", "America_Central", "America/Chicago",104"America/Buenos_Aires", "Argentina", "America/Buenos_Aires",105"America/Yellowknife", "America_Mountain", "America/Denver",106"Pacific/Midway", "Samoa", "Pacific/Apia",107"Africa/Dar_es_Salaam", "Africa_Eastern", "Africa/Nairobi",108"Pacific/Tahiti", "Tahiti", "Pacific/Tahiti",109"Asia/Gaza", "Europe_Eastern", "Europe/Bucharest",110"Australia/Lindeman", "Australia_Eastern", "Australia/Sydney",111"Europe/Kaliningrad", "Europe_Eastern", "Europe/Bucharest",112"Europe/Bucharest", "Europe_Eastern", "Europe/Bucharest",113"America/Lower_Princes", "Atlantic", "America/Halifax",114"Pacific/Chuuk", "Truk", "Pacific/Truk",115"America/Anchorage", "Alaska", "America/Juneau",116"America/Rankin_Inlet", "America_Central", "America/Chicago",117"America/Marigot", "Atlantic", "America/Halifax",118"Africa/Juba", "Africa_Eastern", "Africa/Nairobi",119"Africa/Algiers", "Europe_Central", "Europe/Paris",120"Europe/Kiev", "Europe_Eastern", "Europe/Bucharest",121"America/Santarem", "Brasilia", "America/Sao_Paulo",122"Africa/Brazzaville", "Africa_Western", "Africa/Lagos",123"Asia/Choibalsan", "Choibalsan", "Asia/Choibalsan",124"Indian/Christmas", "Christmas", "Indian/Christmas",125"America/Nassau", "America_Eastern", "America/New_York",126"Africa/Tunis", "Europe_Central", "Europe/Paris",127"Pacific/Noumea", "New_Caledonia", "Pacific/Noumea",128"Africa/El_Aaiun", "Europe_Western", "Atlantic/Canary",129"Europe/Sarajevo", "Europe_Central", "Europe/Paris",130"America/Campo_Grande", "Amazon", "America/Manaus",131"America/Puerto_Rico", "Atlantic", "America/Halifax",132"Antarctica/Mawson", "Mawson", "Antarctica/Mawson",133"Pacific/Galapagos", "Galapagos", "Pacific/Galapagos",134"Asia/Tehran", "Iran", "Asia/Tehran",135"America/Port-au-Prince", "America_Eastern", "America/New_York",136"America/Scoresbysund", "Greenland_Eastern", "America/Scoresbysund",137"Africa/Harare", "Africa_Central", "Africa/Maputo",138"America/Dominica", "Atlantic", "America/Halifax",139"Europe/Chisinau", "Europe_Eastern", "Europe/Bucharest",140"America/Chihuahua", "America_Mountain", "America/Denver",141"America/La_Paz", "Bolivia", "America/La_Paz",142"Indian/Chagos", "Indian_Ocean", "Indian/Chagos",143"Australia/Broken_Hill", "Australia_Central", "Australia/Adelaide",144"America/Grenada", "Atlantic", "America/Halifax",145"America/North_Dakota/New_Salem", "America_Central", "America/Chicago",146"Pacific/Majuro", "Marshall_Islands", "Pacific/Majuro",147"Australia/Adelaide", "Australia_Central", "Australia/Adelaide",148"Europe/Warsaw", "Europe_Central", "Europe/Paris",149"Europe/Vienna", "Europe_Central", "Europe/Paris",150"Atlantic/Cape_Verde", "Cape_Verde", "Atlantic/Cape_Verde",151"America/Mendoza", "Argentina", "America/Buenos_Aires",152"Pacific/Gambier", "Gambier", "Pacific/Gambier",153"Europe/Istanbul", "Europe_Eastern", "Europe/Bucharest",154"America/Kentucky/Monticello", "America_Eastern", "America/New_York",155"America/Chicago", "America_Central", "America/Chicago",156"Asia/Ulaanbaatar", "Mongolia", "Asia/Ulaanbaatar",157"Indian/Maldives", "Maldives", "Indian/Maldives",158"America/Mexico_City", "America_Central", "America/Chicago",159"Africa/Asmara", "Africa_Eastern", "Africa/Nairobi",160"Asia/Chongqing", "China", "Asia/Shanghai",161"America/Argentina/La_Rioja", "Argentina", "America/Buenos_Aires",162"America/Tijuana", "America_Pacific", "America/Los_Angeles",163"Asia/Harbin", "China", "Asia/Shanghai",164"Pacific/Honolulu", "Hawaii_Aleutian", "Pacific/Honolulu",165"Atlantic/Azores", "Azores", "Atlantic/Azores",166"Indian/Mayotte", "Africa_Eastern", "Africa/Nairobi",167"America/Guatemala", "America_Central", "America/Chicago",168"America/Indianapolis", "America_Eastern", "America/New_York",169"America/Halifax", "Atlantic", "America/Halifax",170"America/Resolute", "America_Central", "America/Chicago",171"Europe/London", "GMT", "Atlantic/Reykjavik",172"America/Hermosillo", "America_Mountain", "America/Denver",173"Atlantic/Madeira", "Europe_Western", "Atlantic/Canary",174"Europe/Zagreb", "Europe_Central", "Europe/Paris",175"America/Boa_Vista", "Amazon", "America/Manaus",176"America/Regina", "America_Central", "America/Chicago",177"America/Cordoba", "Argentina", "America/Buenos_Aires",178"America/Shiprock", "America_Mountain", "America/Denver",179"Europe/Luxembourg", "Europe_Central", "Europe/Paris",180"America/Cancun", "America_Central", "America/Chicago",181"Pacific/Enderbury", "Phoenix_Islands", "Pacific/Enderbury",182"Africa/Bissau", "GMT", "Atlantic/Reykjavik",183"Antarctica/Vostok", "Vostok", "Antarctica/Vostok",184"Pacific/Apia", "Samoa", "Pacific/Apia",185"Australia/Perth", "Australia_Western", "Australia/Perth",186"America/Juneau", "Alaska", "America/Juneau",187"Africa/Mbabane", "Africa_Southern", "Africa/Johannesburg",188"Pacific/Niue", "Niue", "Pacific/Niue",189"Europe/Zurich", "Europe_Central", "Europe/Paris",190"America/Rio_Branco", "Amazon", "America/Manaus",191"Africa/Ndjamena", "Africa_Western", "Africa/Lagos",192"Asia/Macau", "China", "Asia/Shanghai",193"America/Lima", "Peru", "America/Lima",194"Africa/Windhoek", "Africa_Central", "Africa/Maputo",195"America/Sitka", "Alaska", "America/Juneau",196"America/Mazatlan", "America_Mountain", "America/Denver",197"Asia/Saigon", "Indochina", "Asia/Saigon",198"Asia/Kamchatka", "Magadan", "Asia/Magadan",199"America/Menominee", "America_Central", "America/Chicago",200"America/Belize", "America_Central", "America/Chicago",201"America/Sao_Paulo", "Brasilia", "America/Sao_Paulo",202"America/Barbados", "Atlantic", "America/Halifax",203"America/Porto_Velho", "Amazon", "America/Manaus",204"America/Costa_Rica", "America_Central", "America/Chicago",205"Europe/Monaco", "Europe_Central", "Europe/Paris",206"Europe/Riga", "Europe_Eastern", "Europe/Bucharest",207"Europe/Vatican", "Europe_Central", "Europe/Paris",208"Europe/Madrid", "Europe_Central", "Europe/Paris",209"Africa/Dakar", "GMT", "Atlantic/Reykjavik",210"Asia/Damascus", "Europe_Eastern", "Europe/Bucharest",211"Asia/Hong_Kong", "Hong_Kong", "Asia/Hong_Kong",212"America/Adak", "Hawaii_Aleutian", "Pacific/Honolulu",213"Europe/Vilnius", "Europe_Eastern", "Europe/Bucharest",214"America/Indiana/Indianapolis", "America_Eastern", "America/New_York",215"Africa/Freetown", "GMT", "Atlantic/Reykjavik",216"Atlantic/Reykjavik", "GMT", "Atlantic/Reykjavik",217"Asia/Ho_Chi_Minh", "Indochina", "Asia/Saigon",218"America/St_Kitts", "Atlantic", "America/Halifax",219"America/Martinique", "Atlantic", "America/Halifax",220"America/Thule", "Atlantic", "America/Halifax",221"America/Asuncion", "Paraguay", "America/Asuncion",222"Africa/Luanda", "Africa_Western", "Africa/Lagos",223"America/Monterrey", "America_Central", "America/Chicago",224"Pacific/Fiji", "Fiji", "Pacific/Fiji",225"Africa/Banjul", "GMT", "Atlantic/Reykjavik",226"America/Grand_Turk", "America_Eastern", "America/New_York",227"Pacific/Pitcairn", "Pitcairn", "Pacific/Pitcairn",228"America/Montevideo", "Uruguay", "America/Montevideo",229"America/Bahia_Banderas", "America_Central", "America/Chicago",230"America/Cayman", "America_Eastern", "America/New_York",231"Pacific/Norfolk", "Norfolk", "Pacific/Norfolk",232"Africa/Ouagadougou", "GMT", "Atlantic/Reykjavik",233"America/Maceio", "Brasilia", "America/Sao_Paulo",234"Pacific/Guam", "Chamorro", "Pacific/Saipan",235"Africa/Monrovia", "GMT", "Atlantic/Reykjavik",236"Africa/Bamako", "GMT", "Atlantic/Reykjavik",237"Asia/Colombo", "India", "Asia/Calcutta",238"Asia/Urumqi", "China", "Asia/Shanghai",239"Asia/Kabul", "Afghanistan", "Asia/Kabul",240"America/Yakutat", "Alaska", "America/Juneau",241"America/Phoenix", "America_Mountain", "America/Denver",242"Asia/Nicosia", "Europe_Eastern", "Europe/Bucharest",243"Asia/Phnom_Penh", "Indochina", "Asia/Saigon",244"America/Rainy_River", "America_Central", "America/Chicago",245"Europe/Uzhgorod", "Europe_Eastern", "Europe/Bucharest",246"Pacific/Saipan", "Chamorro", "Pacific/Saipan",247"America/St_Vincent", "Atlantic", "America/Halifax",248"Europe/Rome", "Europe_Central", "Europe/Paris",249"America/Nome", "Alaska", "America/Juneau",250"Africa/Mogadishu", "Africa_Eastern", "Africa/Nairobi",251"Europe/Zaporozhye", "Europe_Eastern", "Europe/Bucharest",252"Pacific/Funafuti", "Tuvalu", "Pacific/Funafuti",253"Atlantic/South_Georgia", "South_Georgia", "Atlantic/South_Georgia",254"Europe/Skopje", "Europe_Central", "Europe/Paris",255"Asia/Yekaterinburg", "Yekaterinburg", "Asia/Yekaterinburg",256"Australia/Melbourne", "Australia_Eastern", "Australia/Sydney",257"America/Argentina/Cordoba", "Argentina", "America/Buenos_Aires",258"Africa/Kigali", "Africa_Central", "Africa/Maputo",259"Africa/Blantyre", "Africa_Central", "Africa/Maputo",260"Africa/Tripoli", "Europe_Eastern", "Europe/Bucharest",261"Africa/Gaborone", "Africa_Central", "Africa/Maputo",262"Asia/Kuching", "Malaysia", "Asia/Kuching",263"Pacific/Nauru", "Nauru", "Pacific/Nauru",264"America/Aruba", "Atlantic", "America/Halifax",265"America/Antigua", "Atlantic", "America/Halifax",266"Europe/Volgograd", "Volgograd", "Europe/Volgograd",267"Africa/Djibouti", "Africa_Eastern", "Africa/Nairobi",268"America/Catamarca", "Argentina", "America/Buenos_Aires",269"Asia/Manila", "Philippines", "Asia/Manila",270"Pacific/Kiritimati", "Line_Islands", "Pacific/Kiritimati",271"Asia/Shanghai", "China", "Asia/Shanghai",272"Pacific/Truk", "Truk", "Pacific/Truk",273"Pacific/Tarawa", "Gilbert_Islands", "Pacific/Tarawa",274"Africa/Conakry", "GMT", "Atlantic/Reykjavik",275"Asia/Bishkek", "Kyrgystan", "Asia/Bishkek",276"Europe/Gibraltar", "Europe_Central", "Europe/Paris",277"Asia/Rangoon", "Myanmar", "Asia/Rangoon",278"Asia/Baku", "Azerbaijan", "Asia/Baku",279"America/Santiago", "Chile", "America/Santiago",280"America/El_Salvador", "America_Central", "America/Chicago",281"America/Noronha", "Noronha", "America/Noronha",282"America/St_Thomas", "Atlantic", "America/Halifax",283"Atlantic/St_Helena", "GMT", "Atlantic/Reykjavik",284"Asia/Krasnoyarsk", "Krasnoyarsk", "Asia/Krasnoyarsk",285"America/Vancouver", "America_Pacific", "America/Los_Angeles",286"Europe/Belgrade", "Europe_Central", "Europe/Paris",287"America/St_Barthelemy", "Atlantic", "America/Halifax",288"Asia/Pontianak", "Indonesia_Western", "Asia/Jakarta",289"Africa/Lusaka", "Africa_Central", "Africa/Maputo",290"America/Godthab", "Greenland_Western", "America/Godthab",291"Asia/Dhaka", "Bangladesh", "Asia/Dhaka",292"Asia/Dubai", "Gulf", "Asia/Dubai",293"Europe/Moscow", "Moscow", "Europe/Moscow",294"America/Louisville", "America_Eastern", "America/New_York",295"Australia/Darwin", "Australia_Central", "Australia/Adelaide",296"America/Santo_Domingo", "Atlantic", "America/Halifax",297"America/Argentina/Ushuaia", "Argentina", "America/Buenos_Aires",298"America/Tegucigalpa", "America_Central", "America/Chicago",299"Asia/Aden", "Arabian", "Asia/Riyadh",300"America/Inuvik", "America_Mountain", "America/Denver",301"Asia/Beirut", "Europe_Eastern", "Europe/Bucharest",302"Asia/Qatar", "Arabian", "Asia/Riyadh",303"Europe/Oslo", "Europe_Central", "Europe/Paris",304"Asia/Anadyr", "Magadan", "Asia/Magadan",305"Pacific/Palau", "Palau", "Pacific/Palau",306"Arctic/Longyearbyen", "Europe_Central", "Europe/Paris",307"America/Anguilla", "Atlantic", "America/Halifax",308"Asia/Aqtau", "Kazakhstan_Western", "Asia/Aqtobe",309"Asia/Yerevan", "Armenia", "Asia/Yerevan",310"Africa/Lagos", "Africa_Western", "Africa/Lagos",311"America/Denver", "America_Mountain", "America/Denver",312"Antarctica/Palmer", "Chile", "America/Santiago",313"Europe/Stockholm", "Europe_Central", "Europe/Paris",314"America/Bahia", "Brasilia", "America/Sao_Paulo",315"America/Danmarkshavn", "GMT", "Atlantic/Reykjavik",316"Indian/Mauritius", "Mauritius", "Indian/Mauritius",317"Pacific/Chatham", "Chatham", "Pacific/Chatham",318"Europe/Prague", "Europe_Central", "Europe/Paris",319"America/Blanc-Sablon", "Atlantic", "America/Halifax",320"America/Bogota", "Colombia", "America/Bogota",321"America/Managua", "America_Central", "America/Chicago",322"Pacific/Auckland", "New_Zealand", "Pacific/Auckland",323"Atlantic/Faroe", "Europe_Western", "Atlantic/Canary",324"America/Cambridge_Bay", "America_Mountain", "America/Denver",325"America/Los_Angeles", "America_Pacific", "America/Los_Angeles",326"Africa/Khartoum", "Africa_Central", "Africa/Maputo",327"Europe/Simferopol", "Europe_Eastern", "Europe/Bucharest",328"Australia/Currie", "Australia_Eastern", "Australia/Sydney",329"Europe/Guernsey", "GMT", "Atlantic/Reykjavik",330"Asia/Thimphu", "Bhutan", "Asia/Thimphu",331"America/Eirunepe", "Amazon", "America/Manaus",332"Africa/Nairobi", "Africa_Eastern", "Africa/Nairobi",333"Asia/Yakutsk", "Yakutsk", "Asia/Yakutsk",334"Asia/Yangon", "Myanmar", "Asia/Rangoon",335"America/Goose_Bay", "Atlantic", "America/Halifax",336"Africa/Maseru", "Africa_Southern", "Africa/Johannesburg",337"America/Swift_Current", "America_Central", "America/Chicago",338"America/Guyana", "Guyana", "America/Guyana",339"Asia/Tokyo", "Japan", "Asia/Tokyo",340"Indian/Kerguelen", "French_Southern", "Indian/Kerguelen",341"America/Belem", "Brasilia", "America/Sao_Paulo",342"Pacific/Wallis", "Wallis", "Pacific/Wallis",343"America/Whitehorse", "America_Pacific", "America/Los_Angeles",344"America/North_Dakota/Beulah", "America_Central", "America/Chicago",345"Asia/Jerusalem", "Israel", "Asia/Jerusalem",346"Antarctica/Syowa", "Syowa", "Antarctica/Syowa",347"America/Thunder_Bay", "America_Eastern", "America/New_York",348"Asia/Brunei", "Brunei", "Asia/Brunei",349"America/Metlakatla", "America_Pacific", "America/Los_Angeles",350"Asia/Dushanbe", "Tajikistan", "Asia/Dushanbe",351"Pacific/Kosrae", "Kosrae", "Pacific/Kosrae",352"America/Coral_Harbour", "America_Eastern", "America/New_York",353"America/Tortola", "Atlantic", "America/Halifax",354"Asia/Karachi", "Pakistan", "Asia/Karachi",355"Indian/Reunion", "Reunion", "Indian/Reunion",356"America/Detroit", "America_Eastern", "America/New_York",357"Australia/Eucla", "Australia_CentralWestern", "Australia/Eucla",358"Asia/Seoul", "Korea", "Asia/Seoul",359"Asia/Singapore", "Singapore", "Asia/Singapore",360"Africa/Casablanca", "Europe_Western", "Atlantic/Canary",361"Asia/Dili", "East_Timor", "Asia/Dili",362"America/Indiana/Vincennes", "America_Eastern", "America/New_York",363"Europe/Dublin", "GMT", "Atlantic/Reykjavik",364"America/St_Johns", "Newfoundland", "America/St_Johns",365"Antarctica/Macquarie", "Macquarie", "Antarctica/Macquarie",366"America/Port_of_Spain", "Atlantic", "America/Halifax",367"Europe/Budapest", "Europe_Central", "Europe/Paris",368"America/Fortaleza", "Brasilia", "America/Sao_Paulo",369"Australia/Brisbane", "Australia_Eastern", "Australia/Sydney",370"Atlantic/Bermuda", "Atlantic", "America/Halifax",371"Asia/Amman", "Europe_Eastern", "Europe/Bucharest",372"Asia/Tashkent", "Uzbekistan", "Asia/Tashkent",373"Antarctica/DumontDUrville", "DumontDUrville", "Antarctica/DumontDUrville",374"Antarctica/Casey", "Australia_Western", "Australia/Perth",375"Asia/Vientiane", "Indochina", "Asia/Saigon",376"Pacific/Johnston", "Hawaii_Aleutian", "Pacific/Honolulu",377"America/Jamaica", "America_Eastern", "America/New_York",378"Africa/Addis_Ababa", "Africa_Eastern", "Africa/Nairobi",379"Pacific/Ponape", "Ponape", "Pacific/Ponape",380"Europe/Jersey", "GMT", "Atlantic/Reykjavik",381"Africa/Lome", "GMT", "Atlantic/Reykjavik",382"America/Manaus", "Amazon", "America/Manaus",383"Africa/Niamey", "Africa_Western", "Africa/Lagos",384"Asia/Kashgar", "China", "Asia/Shanghai",385"Pacific/Tongatapu", "Tonga", "Pacific/Tongatapu",386"Europe/Minsk", "Europe_Eastern", "Europe/Bucharest",387"America/Edmonton", "America_Mountain", "America/Denver",388"Asia/Baghdad", "Arabian", "Asia/Riyadh",389"Asia/Kathmandu", "Nepal", "Asia/Katmandu",390"America/Ojinaga", "America_Mountain", "America/Denver",391"Africa/Abidjan", "GMT", "Atlantic/Reykjavik",392"America/Indiana/Winamac", "America_Eastern", "America/New_York",393"Asia/Qyzylorda", "Kazakhstan_Eastern", "Asia/Almaty",394"Australia/Sydney", "Australia_Eastern", "Australia/Sydney",395"Asia/Ashgabat", "Turkmenistan", "Asia/Ashgabat",396"Europe/Amsterdam", "Europe_Central", "Europe/Paris",397"America/Dawson_Creek", "America_Mountain", "America/Denver",398"Africa/Cairo", "Europe_Eastern", "Europe/Bucharest",399"Asia/Pyongyang", "Korea", "Asia/Seoul",400"Africa/Kampala", "Africa_Eastern", "Africa/Nairobi",401"America/Araguaina", "Brasilia", "America/Sao_Paulo",402"Asia/Novokuznetsk", "Novosibirsk", "Asia/Novosibirsk",403"Pacific/Kwajalein", "Marshall_Islands", "Pacific/Majuro",404"Africa/Lubumbashi", "Africa_Central", "Africa/Maputo",405"Asia/Sakhalin", "Sakhalin", "Asia/Sakhalin",406"America/Indiana/Vevay", "America_Eastern", "America/New_York",407"Africa/Maputo", "Africa_Central", "Africa/Maputo",408"Atlantic/Faeroe", "Europe_Western", "Atlantic/Canary",409"America/North_Dakota/Center", "America_Central", "America/Chicago",410"Pacific/Wake", "Wake", "Pacific/Wake",411"Pacific/Pago_Pago", "Samoa", "Pacific/Apia",412"America/Moncton", "Atlantic", "America/Halifax",413"Africa/Sao_Tome", "Africa_Western", "Africa/Lagos",414"America/Glace_Bay", "Atlantic", "America/Halifax",415"Asia/Jakarta", "Indonesia_Western", "Asia/Jakarta",416"Africa/Asmera", "Africa_Eastern", "Africa/Nairobi",417"Europe/Lisbon", "Europe_Western", "Atlantic/Canary",418"America/Dawson", "America_Pacific", "America/Los_Angeles",419"America/Cayenne", "French_Guiana", "America/Cayenne",420"Asia/Bahrain", "Arabian", "Asia/Riyadh",421"Europe/Malta", "Europe_Central", "Europe/Paris",422"America/Indiana/Tell_City", "America_Central", "America/Chicago",423"America/Indiana/Petersburg", "America_Eastern", "America/New_York",424"Antarctica/Rothera", "Rothera", "Antarctica/Rothera",425"Asia/Aqtobe", "Kazakhstan_Western", "Asia/Aqtobe",426"Europe/Vaduz", "Europe_Central", "Europe/Paris",427"America/Indiana/Marengo", "America_Eastern", "America/New_York",428"Europe/Brussels", "Europe_Central", "Europe/Paris",429"Europe/Andorra", "Europe_Central", "Europe/Paris",430"America/Indiana/Knox", "America_Central", "America/Chicago",431"Pacific/Easter", "Easter", "Pacific/Easter",432"America/Argentina/Rio_Gallegos", "Argentina", "America/Buenos_Aires",433"Asia/Oral", "Kazakhstan_Western", "Asia/Aqtobe",434"Europe/Copenhagen", "Europe_Central", "Europe/Paris",435"Africa/Johannesburg", "Africa_Southern", "Africa/Johannesburg",436"Pacific/Pohnpei", "Ponape", "Pacific/Ponape",437"America/Argentina/Tucuman", "Argentina", "America/Buenos_Aires",438"America/Toronto", "America_Eastern", "America/New_York",439"Asia/Makassar", "Indonesia_Central", "Asia/Makassar",440"Europe/Berlin", "Europe_Central", "Europe/Paris",441"America/Argentina/Mendoza", "Argentina", "America/Buenos_Aires",442"America/Cuiaba", "Amazon", "America/Manaus",443"America/Creston", "America_Mountain", "America/Denver",444"Asia/Samarkand", "Uzbekistan", "Asia/Tashkent",445"Asia/Hovd", "Hovd", "Asia/Hovd",446"Europe/Bratislava", "Europe_Central", "Europe/Paris",447"Africa/Accra", "GMT", "Atlantic/Reykjavik",448"Africa/Douala", "Africa_Western", "Africa/Lagos",449"Africa/Nouakchott", "GMT", "Atlantic/Reykjavik",450"Europe/Sofia", "Europe_Eastern", "Europe/Bucharest",451"Antarctica/Davis", "Davis", "Antarctica/Davis",452"Antarctica/McMurdo", "New_Zealand", "Pacific/Auckland",453"Europe/San_Marino", "Europe_Central", "Europe/Paris",454"Africa/Porto-Novo", "Africa_Western", "Africa/Lagos",455"Asia/Jayapura", "Indonesia_Eastern", "Asia/Jayapura",456"America/St_Lucia", "Atlantic", "America/Halifax",457"America/Nipigon", "America_Eastern", "America/New_York",458"America/Argentina/Catamarca", "Argentina", "America/Buenos_Aires",459"Europe/Isle_of_Man", "GMT", "Atlantic/Reykjavik",460"America/Kentucky/Louisville", "America_Eastern", "America/New_York",461"America/Merida", "America_Central", "America/Chicago",462"Pacific/Marquesas", "Marquesas", "Pacific/Marquesas",463"Asia/Magadan", "Magadan", "Asia/Magadan",464"Africa/Libreville", "Africa_Western", "Africa/Lagos",465"Pacific/Efate", "Vanuatu", "Pacific/Efate",466"Asia/Kuala_Lumpur", "Malaysia", "Asia/Kuching",467"America/Iqaluit", "America_Eastern", "America/New_York",468"Indian/Comoro", "Africa_Eastern", "Africa/Nairobi",469"America/Panama", "America_Eastern", "America/New_York",470"Asia/Hebron", "Europe_Eastern", "Europe/Bucharest",471"America/Jujuy", "Argentina", "America/Buenos_Aires",472"America/Pangnirtung", "America_Eastern", "America/New_York",473"Asia/Tbilisi", "Georgia", "Asia/Tbilisi",474"Europe/Podgorica", "Europe_Central", "Europe/Paris",475"America/Boise", "America_Mountain", "America/Denver",476"Asia/Muscat", "Gulf", "Asia/Dubai",477"Indian/Mahe", "Seychelles", "Indian/Mahe",478"America/Montreal", "America_Eastern", "America/New_York",479"Africa/Bangui", "Africa_Western", "Africa/Lagos",480"America/Curacao", "Atlantic", "America/Halifax",481"Asia/Taipei", "Taipei", "Asia/Taipei",482"Europe/Ljubljana", "Europe_Central", "Europe/Paris",483"Atlantic/Stanley", "Falkland", "Atlantic/Stanley",484"Pacific/Guadalcanal", "Solomon", "Pacific/Guadalcanal",485"Asia/Kuwait", "Arabian", "Asia/Riyadh",486"Asia/Riyadh", "Arabian", "Asia/Riyadh",487"Europe/Tallinn", "Europe_Eastern", "Europe/Bucharest",488"America/New_York", "America_Eastern", "America/New_York",489"America/Paramaribo", "Suriname", "America/Paramaribo",490"America/Argentina/Buenos_Aires", "Argentina", "America/Buenos_Aires",491"Asia/Irkutsk", "Irkutsk", "Asia/Irkutsk",492"Asia/Katmandu", "Nepal", "Asia/Katmandu",493"America/Kralendijk", "Atlantic", "America/Halifax",494};495private static final String[] mzoneMap = new String[] {496"GMT", "ML", "Africa/Bamako",497"GMT", "IE", "Europe/Dublin",498"GMT", "SN", "Africa/Dakar",499"GMT", "GH", "Africa/Accra",500"GMT", "CI", "Africa/Abidjan",501"GMT", "BF", "Africa/Ouagadougou",502"GMT", "MR", "Africa/Nouakchott",503"GMT", "GM", "Africa/Banjul",504"GMT", "SL", "Africa/Freetown",505"GMT", "GN", "Africa/Conakry",506"GMT", "SH", "Atlantic/St_Helena",507"GMT", "GB", "Europe/London",508"GMT", "LR", "Africa/Monrovia",509"GMT", "TG", "Africa/Lome",510"Africa_Western", "ST", "Africa/Sao_Tome",511"Africa_Western", "CF", "Africa/Bangui",512"Africa_Western", "NE", "Africa/Niamey",513"Africa_Western", "CM", "Africa/Douala",514"Africa_Western", "CD", "Africa/Kinshasa",515"Africa_Western", "CG", "Africa/Brazzaville",516"Africa_Western", "GA", "Africa/Libreville",517"Africa_Western", "TD", "Africa/Ndjamena",518"Africa_Western", "AO", "Africa/Luanda",519"Africa_Western", "GQ", "Africa/Malabo",520"Africa_Eastern", "YT", "Indian/Mayotte",521"Africa_Eastern", "UG", "Africa/Kampala",522"Africa_Eastern", "ET", "Africa/Addis_Ababa",523"Africa_Eastern", "MG", "Indian/Antananarivo",524"Africa_Eastern", "TZ", "Africa/Dar_es_Salaam",525"Africa_Eastern", "SO", "Africa/Mogadishu",526"Africa_Eastern", "ER", "Africa/Asmera",527"Africa_Eastern", "KM", "Indian/Comoro",528"Africa_Eastern", "DJ", "Africa/Djibouti",529"Europe_Central", "GI", "Europe/Gibraltar",530"Europe_Central", "DK", "Europe/Copenhagen",531"Europe_Central", "SE", "Europe/Stockholm",532"Europe_Central", "CH", "Europe/Zurich",533"Europe_Central", "AL", "Europe/Tirane",534"Europe_Central", "RS", "Europe/Belgrade",535"Europe_Central", "HU", "Europe/Budapest",536"Europe_Central", "MT", "Europe/Malta",537"Europe_Central", "PL", "Europe/Warsaw",538"Europe_Central", "ME", "Europe/Podgorica",539"Europe_Central", "ES", "Europe/Madrid",540"Europe_Central", "CZ", "Europe/Prague",541"Europe_Central", "IT", "Europe/Rome",542"Europe_Central", "SI", "Europe/Ljubljana",543"Europe_Central", "LI", "Europe/Vaduz",544"Europe_Central", "AT", "Europe/Vienna",545"Europe_Central", "VA", "Europe/Vatican",546"Europe_Central", "DE", "Europe/Berlin",547"Europe_Central", "NO", "Europe/Oslo",548"Europe_Central", "SK", "Europe/Bratislava",549"Europe_Central", "AD", "Europe/Andorra",550"Europe_Central", "SM", "Europe/San_Marino",551"Europe_Central", "MK", "Europe/Skopje",552"Europe_Central", "TN", "Africa/Tunis",553"Europe_Central", "HR", "Europe/Zagreb",554"Europe_Central", "NL", "Europe/Amsterdam",555"Europe_Central", "BE", "Europe/Brussels",556"Europe_Central", "MC", "Europe/Monaco",557"Europe_Central", "LU", "Europe/Luxembourg",558"Europe_Central", "BA", "Europe/Sarajevo",559"China", "MO", "Asia/Macau",560"America_Pacific", "MX", "America/Tijuana",561"America_Pacific", "CA", "America/Vancouver",562"Indochina", "LA", "Asia/Vientiane",563"Indochina", "KH", "Asia/Phnom_Penh",564"Indochina", "TH", "Asia/Bangkok",565"Korea", "KP", "Asia/Pyongyang",566"America_Mountain", "MX", "America/Hermosillo",567"America_Mountain", "CA", "America/Edmonton",568"Africa_Southern", "LS", "Africa/Maseru",569"Africa_Southern", "SZ", "Africa/Mbabane",570"Chile", "AQ", "Antarctica/Palmer",571"New_Zealand", "AQ", "Antarctica/McMurdo",572"Gulf", "OM", "Asia/Muscat",573"Europe_Western", "FO", "Atlantic/Faeroe",574"America_Eastern", "TC", "America/Grand_Turk",575"America_Eastern", "CA", "America/Toronto",576"America_Eastern", "BS", "America/Nassau",577"America_Eastern", "PA", "America/Panama",578"America_Eastern", "JM", "America/Jamaica",579"America_Eastern", "KY", "America/Cayman",580"Africa_Central", "BI", "Africa/Bujumbura",581"Africa_Central", "ZM", "Africa/Lusaka",582"Africa_Central", "ZW", "Africa/Harare",583"Africa_Central", "CD", "Africa/Lubumbashi",584"Africa_Central", "BW", "Africa/Gaborone",585"Africa_Central", "RW", "Africa/Kigali",586"Africa_Central", "MW", "Africa/Blantyre",587"America_Central", "MX", "America/Mexico_City",588"America_Central", "HN", "America/Tegucigalpa",589"America_Central", "CA", "America/Winnipeg",590"America_Central", "GT", "America/Guatemala",591"America_Central", "SV", "America/El_Salvador",592"America_Central", "CR", "America/Costa_Rica",593"America_Central", "BZ", "America/Belize",594"Atlantic", "MS", "America/Montserrat",595"Atlantic", "AG", "America/Antigua",596"Atlantic", "TT", "America/Port_of_Spain",597"Atlantic", "MQ", "America/Martinique",598"Atlantic", "DM", "America/Dominica",599"Atlantic", "KN", "America/St_Kitts",600"Atlantic", "BM", "Atlantic/Bermuda",601"Atlantic", "PR", "America/Puerto_Rico",602"Atlantic", "AW", "America/Aruba",603"Atlantic", "VG", "America/Tortola",604"Atlantic", "GD", "America/Grenada",605"Atlantic", "GL", "America/Thule",606"Atlantic", "BB", "America/Barbados",607"Atlantic", "BQ", "America/Kralendijk",608"Atlantic", "SX", "America/Lower_Princes",609"Atlantic", "VI", "America/St_Thomas",610"Atlantic", "MF", "America/Marigot",611"Atlantic", "AI", "America/Anguilla",612"Atlantic", "AN", "America/Curacao",613"Atlantic", "LC", "America/St_Lucia",614"Atlantic", "GP", "America/Guadeloupe",615"Atlantic", "VC", "America/St_Vincent",616"Arabian", "QA", "Asia/Qatar",617"Arabian", "YE", "Asia/Aden",618"Arabian", "KW", "Asia/Kuwait",619"Arabian", "BH", "Asia/Bahrain",620"Arabian", "IQ", "Asia/Baghdad",621"India", "LK", "Asia/Colombo",622"Europe_Eastern", "SY", "Asia/Damascus",623"Europe_Eastern", "BG", "Europe/Sofia",624"Europe_Eastern", "GR", "Europe/Athens",625"Europe_Eastern", "JO", "Asia/Amman",626"Europe_Eastern", "CY", "Asia/Nicosia",627"Europe_Eastern", "AX", "Europe/Mariehamn",628"Europe_Eastern", "LB", "Asia/Beirut",629"Europe_Eastern", "FI", "Europe/Helsinki",630"Europe_Eastern", "EG", "Africa/Cairo",631"Chamorro", "GU", "Pacific/Guam",632};633private static final String[] aliasMap = new String[] {634"Brazil/Acre", "America/Rio_Branco",635"US/Indiana-Starke", "America/Indiana/Knox",636"America/Atka", "America/Adak",637"America/St_Barthelemy", "America/Guadeloupe",638"Australia/North", "Australia/Darwin",639"Europe/Zagreb", "Europe/Belgrade",640"Etc/Universal", "Etc/UTC",641"NZ-CHAT", "Pacific/Chatham",642"Asia/Macao", "Asia/Macau",643"Pacific/Yap", "Pacific/Chuuk",644"Egypt", "Africa/Cairo",645"US/Central", "America/Chicago",646"Canada/Atlantic", "America/Halifax",647"Brazil/East", "America/Sao_Paulo",648"America/Cordoba", "America/Argentina/Cordoba",649"US/Hawaii", "Pacific/Honolulu",650"America/Louisville", "America/Kentucky/Louisville",651"America/Shiprock", "America/Denver",652"Australia/Canberra", "Australia/Sydney",653"Asia/Chungking", "Asia/Chongqing",654"Universal", "Etc/UTC",655"US/Alaska", "America/Anchorage",656"Asia/Ujung_Pandang", "Asia/Makassar",657"Japan", "Asia/Tokyo",658"Atlantic/Faeroe", "Atlantic/Faroe",659"Asia/Istanbul", "Europe/Istanbul",660"US/Pacific", "America/Los_Angeles",661"Mexico/General", "America/Mexico_City",662"Poland", "Europe/Warsaw",663"Africa/Asmera", "Africa/Asmara",664"Asia/Saigon", "Asia/Ho_Chi_Minh",665"US/Michigan", "America/Detroit",666"America/Argentina/ComodRivadavia", "America/Argentina/Catamarca",667"W-SU", "Europe/Moscow",668"Australia/ACT", "Australia/Sydney",669"Asia/Calcutta", "Asia/Kolkata",670"Arctic/Longyearbyen", "Europe/Oslo",671"America/Knox_IN", "America/Indiana/Knox",672"ROC", "Asia/Taipei",673"Zulu", "Etc/UTC",674"Australia/Yancowinna", "Australia/Broken_Hill",675"Australia/West", "Australia/Perth",676"Singapore", "Asia/Singapore",677"Europe/Mariehamn", "Europe/Helsinki",678"ROK", "Asia/Seoul",679"America/Porto_Acre", "America/Rio_Branco",680"Etc/Zulu", "Etc/UTC",681"Canada/Yukon", "America/Whitehorse",682"Europe/Vatican", "Europe/Rome",683"Africa/Timbuktu", "Africa/Bamako",684"America/Buenos_Aires", "America/Argentina/Buenos_Aires",685"Canada/Pacific", "America/Vancouver",686"US/Pacific-New", "America/Los_Angeles",687"Mexico/BajaNorte", "America/Tijuana",688"Europe/Guernsey", "Europe/London",689"Asia/Tel_Aviv", "Asia/Jerusalem",690"Chile/Continental", "America/Santiago",691"Jamaica", "America/Jamaica",692"Mexico/BajaSur", "America/Mazatlan",693"Canada/Eastern", "America/Toronto",694"Australia/Tasmania", "Australia/Hobart",695"NZ", "Pacific/Auckland",696"America/Lower_Princes", "America/Curacao",697"GMT-", "Etc/GMT",698"America/Rosario", "America/Argentina/Cordoba",699"Libya", "Africa/Tripoli",700"Asia/Ashkhabad", "Asia/Ashgabat",701"Australia/NSW", "Australia/Sydney",702"America/Marigot", "America/Guadeloupe",703"Europe/Bratislava", "Europe/Prague",704"Portugal", "Europe/Lisbon",705"Etc/GMT-", "Etc/GMT",706"Europe/San_Marino", "Europe/Rome",707"Europe/Sarajevo", "Europe/Belgrade",708"Antarctica/South_Pole", "Antarctica/McMurdo",709"Canada/Central", "America/Winnipeg",710"Etc/GMT", "Etc/GMT",711"Europe/Isle_of_Man", "Europe/London",712"America/Fort_Wayne", "America/Indiana/Indianapolis",713"Eire", "Europe/Dublin",714"America/Coral_Harbour", "America/Atikokan",715"Europe/Nicosia", "Asia/Nicosia",716"US/Samoa", "Pacific/Pago_Pago",717"Hongkong", "Asia/Hong_Kong",718"Canada/Saskatchewan", "America/Regina",719"Asia/Thimbu", "Asia/Thimphu",720"Kwajalein", "Pacific/Kwajalein",721"GB", "Europe/London",722"Chile/EasterIsland", "Pacific/Easter",723"US/East-Indiana", "America/Indiana/Indianapolis",724"Australia/LHI", "Australia/Lord_Howe",725"Cuba", "America/Havana",726"America/Jujuy", "America/Argentina/Jujuy",727"US/Mountain", "America/Denver",728"Atlantic/Jan_Mayen", "Europe/Oslo",729"Europe/Tiraspol", "Europe/Chisinau",730"Europe/Podgorica", "Europe/Belgrade",731"US/Arizona", "America/Phoenix",732"Navajo", "America/Denver",733"Etc/Greenwich", "Etc/GMT",734"Canada/Mountain", "America/Edmonton",735"Iceland", "Atlantic/Reykjavik",736"Australia/Victoria", "Australia/Melbourne",737"Australia/South", "Australia/Adelaide",738"Brazil/West", "America/Manaus",739"Pacific/Ponape", "Pacific/Pohnpei",740"Europe/Ljubljana", "Europe/Belgrade",741"Europe/Jersey", "Europe/London",742"Australia/Queensland", "Australia/Brisbane",743"UTC", "Etc/UTC",744"Canada/Newfoundland", "America/St_Johns",745"Europe/Skopje", "Europe/Belgrade",746"PRC", "Asia/Shanghai",747"UCT", "Etc/UCT",748"America/Mendoza", "America/Argentina/Mendoza",749"Israel", "Asia/Jerusalem",750"US/Eastern", "America/New_York",751"Asia/Ulan_Bator", "Asia/Ulaanbaatar",752"Turkey", "Europe/Istanbul",753"GMT", "Etc/GMT",754"US/Aleutian", "America/Adak",755"Brazil/DeNoronha", "America/Noronha",756"GB-Eire", "Europe/London",757"Asia/Dacca", "Asia/Dhaka",758"America/Ensenada", "America/Tijuana",759"America/Catamarca", "America/Argentina/Catamarca",760"Iran", "Asia/Tehran",761"Greenwich", "Etc/GMT",762"Pacific/Truk", "Pacific/Chuuk",763"Pacific/Samoa", "Pacific/Pago_Pago",764"America/Virgin", "America/St_Thomas",765"Asia/Katmandu", "Asia/Kathmandu",766"America/Indianapolis", "America/Indiana/Indianapolis",767"Europe/Belfast", "Europe/London",768"America/Kralendijk", "America/Curacao",769"Asia/Rangoon", "Asia/Yangon",770};771772private static final Map<String, String> zidToMzone = new HashMap<>();773private static final Map<String, String> mzoneToZid = new HashMap<>();774private static final Map<String, Map<String, String>> mzoneToZidL = new HashMap<>();775private static final Map<String, String> aliases = new HashMap<>();776777static {778for (int i = 0; i < zidMap.length; i += 3) {779zidToMzone.put(zidMap[i], zidMap[i + 1]);780mzoneToZid.put(zidMap[i + 1], zidMap[i + 2]);781}782783for (int i = 0; i < mzoneMap.length; i += 3) {784String mzone = mzoneMap[i];785Map<String, String> map = mzoneToZidL.get(mzone);786if (map == null) {787map = new HashMap<>();788mzoneToZidL.put(mzone, map);789}790map.put(mzoneMap[i + 1], mzoneMap[i + 2]);791}792793for (int i = 0; i < aliasMap.length; i += 2) {794aliases.put(aliasMap[i], aliasMap[i + 1]);795}796}797}798799800