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