ICU-21448 Update ICU tzdata to 2020f

diff --git a/icu4c/source/data/misc/metaZones.txt b/icu4c/source/data/misc/metaZones.txt
index 65d5e18..9e5ea1d 100644
--- a/icu4c/source/data/misc/metaZones.txt
+++ b/icu4c/source/data/misc/metaZones.txt
@@ -1665,11 +1665,11 @@
             {
                 "America_Eastern",
                 "1970-01-01 00:00",
-                "2015-11-01 06:00",
+                "2015-03-08 07:00",
             }
             {
                 "Atlantic",
-                "2015-11-01 06:00",
+                "2015-03-08 07:00",
                 "2018-03-11 07:00",
             }
             {
@@ -4055,18 +4055,6 @@
         "Europe:Volgograd"{
             {
                 "Volgograd",
-                "1970-01-01 00:00",
-                "1992-03-28 22:00",
-            }
-            {
-                "Moscow",
-                "1992-03-28 22:00",
-                "2018-10-27 23:00",
-            }
-            {
-                "Volgograd",
-                "2018-10-27 23:00",
-                "9999-12-31 23:59",
             }
         }
         "Europe:Warsaw"{
diff --git a/icu4c/source/data/misc/windowsZones.txt b/icu4c/source/data/misc/windowsZones.txt
index c8a3c7e..4fe43fd 100644
--- a/icu4c/source/data/misc/windowsZones.txt
+++ b/icu4c/source/data/misc/windowsZones.txt
@@ -674,10 +674,6 @@
         }
         "US Mountain Standard Time"{
             001{"America/Phoenix"}
-            CA{
-                "America/Whitehorse America/Creston America/Dawson America/Dawson_Cre"
-                "ek America/Fort_Nelson"
-            }
             MX{"America/Hermosillo"}
             US{"America/Phoenix"}
             ZZ{"Etc/GMT+7"}
@@ -814,5 +810,12 @@
             001{"Asia/Yakutsk"}
             RU{"Asia/Yakutsk Asia/Khandyga"}
         }
+        "Yukon Standard Time"{
+            001{"America/Whitehorse"}
+            CA{
+                "America/Whitehorse America/Creston America/Dawson America/Dawson_Cre"
+                "ek America/Fort_Nelson"
+            }
+        }
     }
 }
diff --git a/icu4c/source/data/misc/zoneinfo64.txt b/icu4c/source/data/misc/zoneinfo64.txt
index 54a2a46..baccda7 100644
--- a/icu4c/source/data/misc/zoneinfo64.txt
+++ b/icu4c/source/data/misc/zoneinfo64.txt
@@ -3,17 +3,17 @@
 // License & terms of use: http://www.unicode.org/copyright.html
 //---------------------------------------------------------
 // Build tool:  tz2icu
-// Build date:  Wed Oct 21 21:13:50 2020
+// Build date:  Mon Jan  4 23:38:49 2021
 // tz database: ftp://ftp.iana.org/tz/
-// tz version:  2020d
-// ICU version: 68.1
+// tz version:  2020f
+// ICU version: 68.2
 //---------------------------------------------------------
 // >> !!! >>   THIS IS A MACHINE-GENERATED FILE   << !!! <<
 // >> !!! >>>            DO NOT EDIT             <<< !!! <<
 //---------------------------------------------------------
 
 zoneinfo64:table(nofallback) {
- TZVersion { "2020d" }
+ TZVersion { "2020f" }
  Zones:array { 
   /* ACT */ :int { 356 } //Z#0
   /* AET */ :int { 368 } //Z#1
@@ -27,9 +27,9 @@
     links:intvector { 5, 11, 13, 21, 22, 27, 38, 51, 52, 55, 348 }
   } //Z#5
   /* Africa/Accra */ :table {
-    trans:intvector { -1640995148, -1556841600, -1546388400, -1525305600, -1514852400, -1493769600, -1483316400, -1462233600, -1451780400, -1430611200, -1420158000, -1399075200, -1388622000, -1367539200, -1357086000, -1336003200, -1325550000, -1304380800, -1293927600, -1272844800, -1262391600, -1241308800, -1230855600, -1209772800, -1199319600, -1178150400, -1167697200, -1146614400, -1136161200, -1115078400, -1104625200, -1083542400, -1073089200, -1051920000, -1041466800, -1020384000, -1009930800, -988848000, -978394800, -957312000, -946858800, -925689600, -915236400, -894153600, -883700400, -862617600, -852164400 }
-    typeOffsets:intvector { -52, 0, 0, 0, 0, 1200 }
-    typeMap:bin { "0102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
+    trans:intvector { -1709337548, -1581206400, -1577917200, -1556834400, -1546294800, -1525298400, -1514758800, -1493762400, -1483222800, -1462226400, -1451686800, -1430604000, -1420064400, -1399068000, -1388528400, -1367532000, -1356992400, -1335996000, -1325456400, -1304373600, -1293834000, -1272837600, -1262298000, -1241301600, -1230762000, -1209765600, -1199226000, -1178143200, -1167603600, -1146607200, -1136067600, -1115071200, -1104531600, -1083535200, -1072995600, -1051912800, -1041373200, -1020376800, -1009837200, -988840800, -978301200, -957304800, -946765200, -936309600, -915142800, -904773600, -883606800, -880329600, -756952200, -610149600, -599610600, -578613600, -568074600, -546991200, -536452200, -515455200, -504916200, -483919200, -473380200, -452383200, -441844200 }
+    typeOffsets:intvector { -52, 0, 0, 0, 0, 1200, 0, 1800, 1800, 0 }
+    typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010401030103010301030103010301" }
   } //Z#6
   /* Africa/Addis_Ababa */ :int { 48 } //Z#7
   /* Africa/Algiers */ :table {
@@ -108,9 +108,9 @@
   /* Africa/Kigali */ :int { 43 } //Z#34
   /* Africa/Kinshasa */ :int { 36 } //Z#35
   /* Africa/Lagos */ :table {
-    trans:intvector { -1588464816 }
-    typeOffsets:intvector { 816, 0, 3600, 0 }
-    typeMap:bin { "01" }
+    trans:intvector { -2035584815, -1940889600, -1767226415, -1588465800 }
+    typeOffsets:intvector { 815, 0, 0, 0, 1800, 0, 3600, 0 }
+    typeMap:bin { "01000203" }
     links:intvector { 12, 16, 25, 35, 36, 37, 39, 42, 50, 53 }
   } //Z#36
   /* Africa/Libreville */ :int { 36 } //Z#37
@@ -134,9 +134,9 @@
     typeMap:bin { "0102" }
   } //Z#47
   /* Africa/Nairobi */ :table {
-    trans:intvector { -1309746436, -1262314800, -946780200, -315629100 }
+    trans:intvector { -1946168836, -1309746600, -1261969200, -1041388200, -865305900 }
     typeOffsets:intvector { 8836, 0, 9000, 0, 9900, 0, 10800, 0 }
-    typeMap:bin { "03010203" }
+    typeMap:bin { "0103010203" }
     links:intvector { 7, 9, 10, 23, 24, 32, 46, 48, 397, 516, 520, 525 }
   } //Z#48
   /* Africa/Ndjamena */ :table {
@@ -318,9 +318,9 @@
     typeMap:bin { "0102010201020102010201020102010201020102010201020102010201" }
   } //Z#84
   /* America/Belize */ :table {
-    trans:intvector { -1822500432, -1616954400, -1606069800, -1585504800, -1574015400, -1554055200, -1542565800, -1522605600, -1511116200, -1490551200, -1479666600, -1459101600, -1448217000, -1427652000, -1416162600, -1396202400, -1384713000, -1364752800, -1353263400, -1333303200, -1321813800, -1301248800, -1290364200, -1269799200, -1258914600, -1238349600, -1226860200, -1206900000, -1195410600, -1175450400, -1163961000, -1143396000, -1132511400, -1111946400, -1101061800, -1080496800, -1069612200, -1049047200, -1037557800, -1017597600, -1006108200, -986148000, -974658600, -954093600, -943209000, -922644000, -911759400, -891194400, -879705000, -859744800, -848255400, 123919200, 129618000, 409039200, 413874000 }
+    trans:intvector { -1822500432, -1616954400, -1606069800, -1585504800, -1574015400, -1554055200, -1542565800, -1522605600, -1511116200, -1490551200, -1479666600, -1459101600, -1448217000, -1427652000, -1416162600, -1396202400, -1384713000, -1364752800, -1353263400, -1333303200, -1321813800, -1301248800, -1290364200, -1269799200, -1258914600, -1238349600, -1226860200, -1206900000, -1195410600, -1175450400, -1163961000, -1143396000, -1132511400, -1111946400, -1101061800, -1080496800, -1069612200, -1049047200, -1037557800, -1017597600, -1006108200, -986148000, -974658600, -954093600, -943209000, -922644000, -911759400, -891194400, -879705000, -868212000, -758746800, -701892000, -690402600, -670442400, -658953000, -638992800, -627503400, -606938400, -596053800, -575488800, -564604200, -544039200, -532549800, -512589600, -501100200, -481140000, -469650600, -449690400, -438201000, -417636000, -406751400, -386186400, -375301800, -354736800, -343247400, -323287200, -311797800, -291837600, -280348200, -259783200, -248898600, -228333600, -217449000, -196884000, -185999400, -165434400, -153945000, -133984800, -122495400, -102535200, -91045800, -70480800, -59596200, 123919200, 129618000, 409039200, 413874000 }
     typeOffsets:intvector { -21168, 0, -21600, 0, -21600, 1800, -21600, 3600 }
-    typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020103010301" }
+    typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201030102010201020102010201020102010201020102010201020102010201020102010201020102010201020103010301" }
   } //Z#85
   /* America/Blanc-Sablon */ :table {
     transPre32:intvector { -1, 1581070604 }
@@ -510,9 +510,9 @@
   } //Z#121
   /* America/Grand_Turk */ :table {
     transPre32:intvector { -1, 1770462768 }
-    trans:intvector { -1827687170, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600, 1173596400, 1194156000, 1205046000, 1225605600, 1236495600, 1257055200, 1268550000, 1289109600, 1299999600, 1320559200, 1331449200, 1352008800, 1362898800, 1383458400, 1394348400, 1414908000, 1425798000, 1446357600, 1520751600, 1541311200 }
+    trans:intvector { -1827687170, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600, 1173596400, 1194156000, 1205046000, 1225605600, 1236495600, 1257055200, 1268550000, 1289109600, 1299999600, 1320559200, 1331449200, 1352008800, 1362898800, 1383458400, 1394348400, 1414908000, 1425798000, 1520751600, 1541311200 }
     typeOffsets:intvector { -17072, 0, -18430, 0, -18000, 0, -18000, 3600, -14400, 0 }
-    typeMap:bin { "010203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203040302" }
+    typeMap:bin { "0102030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302040302" }
     finalRule { "US" }
     finalRaw:int { -18000 }
     finalYear:int { 2019 }
@@ -819,9 +819,9 @@
   /* America/Montreal */ :int { 218 } //Z#170
   /* America/Montserrat */ :int { 187 } //Z#171
   /* America/Nassau */ :table {
-    trans:intvector { -1825095030, -179341200, -163620000, -147891600, -131565600, -116442000, -100116000, -84387600, -68666400, -52938000, -37216800, -21488400, -5767200, 9961200, 25682400, 41410800, 57736800, 73465200, 89186400, 104914800, 120636000, 136364400, 152085600, 167814000, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600, 1173596400, 1194156000 }
+    trans:intvector { -1825095030, -873140400, -788904000, -786222000, -763848000, -179341200, -163620000, -147891600, -131565600, -116442000, -100116000, -84387600, -68666400, -52938000, -37216800, -21488400, -5767200, 9961200, 25682400, 41410800, 57736800, 73465200, 89186400, 104914800, 120636000, 136364400, 152085600, 167814000, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600, 1173596400, 1194156000 }
     typeOffsets:intvector { -18570, 0, -18000, 0, -18000, 3600 }
-    typeMap:bin { "0102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
+    typeMap:bin { "010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
     finalRule { "US" }
     finalRaw:int { -18000 }
     finalYear:int { 2008 }
@@ -1176,7 +1176,7 @@
   } //Z#228
   /* Antarctica/Macquarie */ :table {
     transPre32:intvector { -1, 2080708096 }
-    trans:intvector { -1680508800, -1665392400, -1601719200, -687052800, -71136000, -55411200, -37267200, -25776000, -5817600, 5673600, 25632000, 37728000, 57686400, 67968000, 89136000, 100022400, 120585600, 131472000, 152035200, 162921600, 183484800, 194976000, 215539200, 226425600, 246988800, 257875200, 278438400, 289324800, 309888000, 320774400, 341337600, 352224000, 372787200, 386092800, 404841600, 417542400, 436291200, 447177600, 467740800, 478627200, 499190400, 510076800, 530035200, 542736000, 562089600, 574790400, 594144000, 606240000, 625593600, 637689600, 657043200, 670348800, 686678400, 701798400, 718128000, 733248000, 749577600, 764697600, 781027200, 796147200, 812476800, 828201600, 844531200, 859651200, 875980800, 891100800, 907430400, 922550400, 938880000, 954000000, 967305600, 985449600, 1002384000, 1017504000, 1033833600, 1048953600, 1065283200, 1080403200, 1096732800, 1111852800, 1128182400, 1143907200, 1159632000, 1174752000, 1191686400, 1207411200, 1223136000, 1238860800, 1254585600, 1301760000, 1317484800 }
+    trans:intvector { -1680508800, -1665388800, -1601719200, -687052800, -71136000, -55411200, -37267200, -25776000, -5817600, 5673600, 25632000, 37728000, 57686400, 67968000, 89136000, 100022400, 120585600, 131472000, 152035200, 162921600, 183484800, 194976000, 215539200, 226425600, 246988800, 257875200, 278438400, 289324800, 309888000, 320774400, 341337600, 352224000, 372787200, 386092800, 404841600, 417542400, 436291200, 447177600, 467740800, 478627200, 499190400, 510076800, 530035200, 542736000, 562089600, 574790400, 594144000, 606240000, 625593600, 637689600, 657043200, 670348800, 686678400, 701798400, 718128000, 733248000, 749577600, 764697600, 781027200, 796147200, 812476800, 828201600, 844531200, 859651200, 875980800, 891100800, 907430400, 922550400, 938880000, 954000000, 967305600, 985449600, 1002384000, 1017504000, 1033833600, 1048953600, 1065283200, 1080403200, 1096732800, 1111852800, 1128182400, 1143907200, 1159632000, 1174752000, 1191686400, 1207411200, 1223136000, 1238860800, 1254585600, 1301760000, 1317484800 }
     typeOffsets:intvector { 0, 0, 36000, 0, 36000, 3600 }
     typeMap:bin { "0102010001020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102" }
     finalRule { "AT" }
@@ -1363,9 +1363,9 @@
   } //Z#268
   /* Asia/Gaza */ :table {
     transPre32:intvector { -1, 2109557424 }
-    trans:intvector { -933645600, -857358000, -844300800, -825822000, -812685600, -794199600, -779853600, -762656400, -748310400, -731127600, -399088800, -386650800, -368330400, -355114800, -336790800, -323654400, -305168400, -292032000, -273632400, -260496000, -242096400, -228960000, -210560400, -197424000, -178938000, -165801600, -147402000, -134265600, -115866000, -102643200, -84330000, -81313200, 142380000, 150843600, 167176800, 178664400, 334015200, 337644000, 452556000, 462232800, 482277600, 495579600, 516751200, 526424400, 545436000, 558478800, 576626400, 589323600, 609890400, 620773200, 638316000, 651618000, 669765600, 683672400, 701820000, 715726800, 733701600, 747176400, 765151200, 778021200, 796600800, 810075600, 828655200, 843170400, 860104800, 874620000, 891554400, 906069600, 924213600, 939934800, 956268000, 971989200, 987717600, 1003438800, 1019167200, 1034888400, 1050616800, 1066338000, 1082066400, 1096581600, 1113516000, 1128380400, 1143842400, 1158872400, 1175378400, 1189638000, 1206655200, 1219957200, 1238104800, 1252015200, 1269640860, 1281474000, 1301608860, 1312146000, 1333058400, 1348178400, 1364508000, 1380229200, 1395957600, 1414098000, 1427493600, 1445551200, 1458946800, 1477692000, 1490396400, 1509141600, 1521846000, 1540591200, 1553810400, 1572037200, 1585346400, 1603490400 }
+    trans:intvector { -933638400, -923097600, -919036800, -857347200, -844300800, -825811200, -812678400, -794188800, -779846400, -762652800, -748310400, -731116800, -399088800, -386650800, -368330400, -355114800, -336790800, -323654400, -305168400, -292032000, -273632400, -260496000, -242096400, -228960000, -210560400, -197424000, -178938000, -165801600, -147402000, -134265600, -115866000, -102643200, -84330000, -81313200, 142380000, 150843600, 167176800, 178664400, 334101600, 337730400, 452642400, 462319200, 482277600, 494370000, 516751200, 526424400, 545436000, 558478800, 576626400, 589323600, 609890400, 620773200, 638316000, 651618000, 669765600, 683672400, 701820000, 715726800, 733701600, 747176400, 765151200, 778021200, 796600800, 810075600, 828655200, 843170400, 860104800, 874620000, 891554400, 906069600, 924213600, 939934800, 956268000, 971989200, 987717600, 1003438800, 1019167200, 1034888400, 1050616800, 1066338000, 1082066400, 1096581600, 1113516000, 1128380400, 1143842400, 1158872400, 1175378400, 1189638000, 1206655200, 1219957200, 1238104800, 1252015200, 1269640860, 1281474000, 1301608860, 1312146000, 1333058400, 1348178400, 1364508000, 1380229200, 1395957600, 1414098000, 1427493600, 1445551200, 1458946800, 1477692000, 1490396400, 1509141600, 1521846000, 1540591200, 1553810400, 1572037200, 1585346400, 1603490400 }
     typeOffsets:intvector { 8272, 0, 7200, 0, 7200, 3600 }
-    typeMap:bin { "0102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
+    typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
     finalRule { "Palestine" }
     finalRaw:int { 7200 }
     finalYear:int { 2021 }
@@ -1373,9 +1373,9 @@
   /* Asia/Harbin */ :int { 315 } //Z#270
   /* Asia/Hebron */ :table {
     transPre32:intvector { -1, 2109557273 }
-    trans:intvector { -933645600, -857358000, -844300800, -825822000, -812685600, -794199600, -779853600, -762656400, -748310400, -731127600, -399088800, -386650800, -368330400, -355114800, -336790800, -323654400, -305168400, -292032000, -273632400, -260496000, -242096400, -228960000, -210560400, -197424000, -178938000, -165801600, -147402000, -134265600, -115866000, -102643200, -84330000, -81313200, 142380000, 150843600, 167176800, 178664400, 334015200, 337644000, 452556000, 462232800, 482277600, 495579600, 516751200, 526424400, 545436000, 558478800, 576626400, 589323600, 609890400, 620773200, 638316000, 651618000, 669765600, 683672400, 701820000, 715726800, 733701600, 747176400, 765151200, 778021200, 796600800, 810075600, 828655200, 843170400, 860104800, 874620000, 891554400, 906069600, 924213600, 939934800, 956268000, 971989200, 987717600, 1003438800, 1019167200, 1034888400, 1050616800, 1066338000, 1082066400, 1096581600, 1113516000, 1128380400, 1143842400, 1158872400, 1175378400, 1189638000, 1206655200, 1220216400, 1238104800, 1252015200, 1269554400, 1281474000, 1301608860, 1312146000, 1314655200, 1317330000, 1333058400, 1348178400, 1364508000, 1380229200, 1395957600, 1414098000, 1427493600, 1445551200, 1458946800, 1477692000, 1490396400, 1509141600, 1521846000, 1540591200, 1553810400, 1572037200, 1585346400, 1603490400 }
+    trans:intvector { -933638400, -923097600, -919036800, -857347200, -844300800, -825811200, -812678400, -794188800, -779846400, -762652800, -748310400, -731116800, -399088800, -386650800, -368330400, -355114800, -336790800, -323654400, -305168400, -292032000, -273632400, -260496000, -242096400, -228960000, -210560400, -197424000, -178938000, -165801600, -147402000, -134265600, -115866000, -102643200, -84330000, -81313200, 142380000, 150843600, 167176800, 178664400, 334101600, 337730400, 452642400, 462319200, 482277600, 494370000, 516751200, 526424400, 545436000, 558478800, 576626400, 589323600, 609890400, 620773200, 638316000, 651618000, 669765600, 683672400, 701820000, 715726800, 733701600, 747176400, 765151200, 778021200, 796600800, 810075600, 828655200, 843170400, 860104800, 874620000, 891554400, 906069600, 924213600, 939934800, 956268000, 971989200, 987717600, 1003438800, 1019167200, 1034888400, 1050616800, 1066338000, 1082066400, 1096581600, 1113516000, 1128380400, 1143842400, 1158872400, 1175378400, 1189638000, 1206655200, 1220216400, 1238104800, 1252015200, 1269554400, 1281474000, 1301608860, 1312146000, 1314655200, 1317330000, 1333058400, 1348178400, 1364508000, 1380229200, 1395957600, 1414098000, 1427493600, 1445551200, 1458946800, 1477692000, 1490396400, 1509141600, 1521846000, 1540591200, 1553810400, 1572037200, 1585346400, 1603490400 }
     typeOffsets:intvector { 8423, 0, 7200, 0, 7200, 3600 }
-    typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
+    typeMap:bin { "010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
     finalRule { "Palestine" }
     finalRaw:int { 7200 }
     finalYear:int { 2021 }
@@ -1415,9 +1415,9 @@
   } //Z#278
   /* Asia/Jerusalem */ :table {
     transPre32:intvector { -1, 1454818042 }
-    trans:intvector { -1641003640, -933645600, -857358000, -844300800, -825822000, -812685600, -794199600, -779853600, -762656400, -748310400, -731127600, -681962400, -673243200, -667962000, -652327200, -636426000, -622087200, -608947200, -591847200, -572486400, -558576000, -542851200, -527731200, -514425600, -490845600, -482986800, -459475200, -451537200, -428551200, -418262400, -400032000, -387428400, 142380000, 150843600, 167176800, 178664400, 334015200, 337644000, 452556000, 462232800, 482277600, 495579600, 516751200, 526424400, 545436000, 558478800, 576626400, 589323600, 609890400, 620773200, 638316000, 651618000, 669765600, 683672400, 701820000, 715726800, 733701600, 747176400, 765151200, 778021200, 796600800, 810075600, 826840800, 842821200, 858895200, 874184400, 890344800, 905029200, 923011200, 936313200, 955670400, 970783200, 986770800, 1001282400, 1017356400, 1033941600, 1048806000, 1065132000, 1081292400, 1095804000, 1112313600, 1128812400, 1143763200, 1159657200, 1175212800, 1189897200, 1206662400, 1223161200, 1238112000, 1254006000, 1269561600, 1284246000, 1301616000, 1317510000, 1333065600, 1348354800, 1364515200, 1382828400 }
+    trans:intvector { -1641003640, -933638400, -923097600, -919036800, -857347200, -844300800, -825811200, -812678400, -794188800, -779846400, -762652800, -748310400, -731116800, -681955200, -673228800, -667958400, -652320000, -636422400, -622080000, -608947200, -591840000, -572486400, -558576000, -542851200, -527731200, -514425600, -490838400, -482976000, -459388800, -451526400, -428544000, -418262400, -400118400, -387417600, 142380000, 150843600, 167176800, 178664400, 334101600, 337730400, 452642400, 462319200, 482277600, 494370000, 516751200, 526424400, 545436000, 558478800, 576626400, 589323600, 609890400, 620773200, 638316000, 651618000, 669765600, 683672400, 701820000, 715726800, 733701600, 747176400, 765151200, 778021200, 796600800, 810075600, 826840800, 842821200, 858895200, 874184400, 890344800, 905029200, 923011200, 936313200, 955670400, 970783200, 986770800, 1001282400, 1017356400, 1033941600, 1048806000, 1065132000, 1081292400, 1095804000, 1112313600, 1128812400, 1143763200, 1159657200, 1175212800, 1189897200, 1206662400, 1223161200, 1238112000, 1254006000, 1269561600, 1284246000, 1301616000, 1317510000, 1333065600, 1348354800, 1364515200, 1382828400 }
     typeOffsets:intvector { 8454, 0, 7200, 0, 7200, 3600, 7200, 7200, 8440, 0 }
-    typeMap:bin { "040102010201020102010201030201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
+    typeMap:bin { "0401020102010201020102010201030201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
     finalRule { "Zion" }
     finalRaw:int { 7200 }
     finalYear:int { 2014 }
@@ -1704,9 +1704,9 @@
     finalYear:int { 1997 }
   } //Z#338
   /* Atlantic/Bermuda */ :table {
-    trans:intvector { -1262281242, 136360800, 152082000, 167810400, 183531600, 199260000, 215586000, 230709600, 247035600, 262764000, 278485200, 294213600, 309934800, 325663200, 341384400, 357112800, 372834000, 388562400, 404888400, 420012000, 436338000, 452066400, 467787600, 483516000, 499237200, 514965600, 530686800, 544600800, 562136400, 576050400, 594190800, 607500000, 625640400, 638949600, 657090000, 671004000, 688539600, 702453600, 719989200, 733903200, 752043600, 765352800, 783493200, 796802400, 814942800, 828856800, 846392400, 860306400, 877842000, 891756000, 909291600, 923205600, 941346000, 954655200, 972795600, 986104800, 1004245200, 1018159200, 1035694800, 1049608800, 1067144400, 1081058400, 1099198800, 1112508000, 1130648400, 1143957600, 1162098000, 1173592800, 1194152400 }
-    typeOffsets:intvector { -15558, 0, -14400, 0, -14400, 3600 }
-    typeMap:bin { "010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
+    trans:intvector { -1664307642, -1648932042, -1632080442, -1618692042, -1262281242, -882727200, -858538800, -845229600, -825879600, -814384800, -793825200, -782935200, -762375600, -713988000, -703710000, -681933600, -672865200, -650484000, -641415600, -618429600, -609966000, -586980000, -578516400, -555530400, -546462000, -429127200, -415825200, 136360800, 152082000, 167810400, 183531600, 199260000, 215586000, 230709600, 247035600, 262764000, 278485200, 294213600, 309934800, 325663200, 341384400, 357112800, 372834000, 388562400, 404888400, 420012000, 436338000, 452066400, 467787600, 483516000, 499237200, 514965600, 530686800, 544600800, 562136400, 576050400, 594190800, 607500000, 625640400, 638949600, 657090000, 671004000, 688539600, 702453600, 719989200, 733903200, 752043600, 765352800, 783493200, 796802400, 814942800, 828856800, 846392400, 860306400, 877842000, 891756000, 909291600, 923205600, 941346000, 954655200, 972795600, 986104800, 1004245200, 1018159200, 1035694800, 1049608800, 1067144400, 1081058400, 1099198800, 1112508000, 1130648400, 1143957600, 1162098000, 1173592800, 1194152400 }
+    typeOffsets:intvector { -15558, 0, -15558, 3600, -14400, 0, -14400, 3600 }
+    typeMap:bin { "0100010002030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302" }
     finalRule { "US" }
     finalRaw:int { -14400 }
     finalYear:int { 2008 }
@@ -1763,7 +1763,7 @@
   /* Australia/ACT */ :int { 368 } //Z#350
   /* Australia/Adelaide */ :table {
     transPre32:intvector { -1, 1930857236, -1, 2064778096 }
-    trans:intvector { -1672565340, -1665390600, -883639800, -876126600, -860398200, -844677000, -828343800, -813227400, 57688200, 67969800, 89137800, 100024200, 120587400, 131473800, 152037000, 162923400, 183486600, 194977800, 215541000, 226427400, 246990600, 257877000, 278440200, 289326600, 309889800, 320776200, 341339400, 352225800, 372789000, 384280200, 404843400, 415729800, 436293000, 447179400, 467742600, 478629000, 499192200, 511288200, 530037000, 542737800, 562091400, 574792200, 594145800, 606241800, 625595400, 637691400, 657045000, 667931400, 688494600, 701195400, 719944200, 731435400, 751998600, 764094600, 783448200, 796149000, 814897800, 828203400, 846347400, 859653000, 877797000, 891102600, 909246600, 922552200, 941301000, 954001800, 972750600, 985451400, 1004200200, 1017505800, 1035649800, 1048955400, 1067099400, 1080405000, 1099153800, 1111854600, 1130603400, 1143909000, 1162053000, 1174753800, 1193502600, 1207413000, 1223137800 }
+    trans:intvector { -1672558200, -1665387000, -883639800, -876123000, -860398200, -844673400, -828343800, -813223800, 57688200, 67969800, 89137800, 100024200, 120587400, 131473800, 152037000, 162923400, 183486600, 194977800, 215541000, 226427400, 246990600, 257877000, 278440200, 289326600, 309889800, 320776200, 341339400, 352225800, 372789000, 384280200, 404843400, 415729800, 436293000, 447179400, 467742600, 478629000, 499192200, 511288200, 530037000, 542737800, 562091400, 574792200, 594145800, 606241800, 625595400, 637691400, 657045000, 667931400, 688494600, 701195400, 719944200, 731435400, 751998600, 764094600, 783448200, 796149000, 814897800, 828203400, 846347400, 859653000, 877797000, 891102600, 909246600, 922552200, 941301000, 954001800, 972750600, 985451400, 1004200200, 1017505800, 1035649800, 1048955400, 1067099400, 1080405000, 1099153800, 1111854600, 1130603400, 1143909000, 1162053000, 1174753800, 1193502600, 1207413000, 1223137800 }
     typeOffsets:intvector { 33260, 0, 32400, 0, 34200, 0, 34200, 3600 }
     typeMap:bin { "01020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203" }
     finalRule { "AS" }
@@ -1773,14 +1773,14 @@
   } //Z#351
   /* Australia/Brisbane */ :table {
     transPre32:intvector { -1, 1928175368 }
-    trans:intvector { -1672567140, -1665392400, -883641600, -876128400, -860400000, -844678800, -828345600, -813229200, 57686400, 67968000, 625593600, 636480000, 657043200, 667929600, 688492800, 699379200 }
+    trans:intvector { -1672560000, -1665388800, -883641600, -876124800, -860400000, -844675200, -828345600, -813225600, 57686400, 67968000, 625593600, 636480000, 657043200, 667929600, 688492800, 699379200 }
     typeOffsets:intvector { 36728, 0, 36000, 0, 36000, 3600 }
     typeMap:bin { "0102010201020102010201020102010201" }
     links:intvector { 352, 366 }
   } //Z#352
   /* Australia/Broken_Hill */ :table {
     transPre32:intvector { -1, 1930856548, -1, 1980016096, -1, 2064778096 }
-    trans:intvector { -1672565340, -1665390600, -883639800, -876126600, -860398200, -844677000, -828343800, -813227400, 57688200, 67969800, 89137800, 100024200, 120587400, 131473800, 152037000, 162923400, 183486600, 194977800, 215541000, 226427400, 246990600, 257877000, 278440200, 289326600, 309889800, 320776200, 341339400, 352225800, 372789000, 386699400, 404843400, 415729800, 436293000, 447179400, 467742600, 478629000, 499192200, 511288200, 530037000, 542737800, 562091400, 574792200, 594145800, 606241800, 625595400, 636481800, 657045000, 667931400, 688494600, 699381000, 719944200, 731435400, 751998600, 762885000, 783448200, 794334600, 814897800, 828203400, 846347400, 859653000, 877797000, 891102600, 909246600, 922552200, 941301000, 954001800, 972750600, 985451400, 1004200200, 1017505800, 1035649800, 1048955400, 1067099400, 1080405000, 1099153800, 1111854600, 1130603400, 1143909000, 1162053000, 1174753800, 1193502600, 1207413000, 1223137800 }
+    trans:intvector { -1672558200, -1665387000, -883639800, -876123000, -860398200, -844673400, -828343800, -813223800, 57688200, 67969800, 89137800, 100024200, 120587400, 131473800, 152037000, 162923400, 183486600, 194977800, 215541000, 226427400, 246990600, 257877000, 278440200, 289326600, 309889800, 320776200, 341339400, 352225800, 372789000, 386699400, 404843400, 415729800, 436293000, 447179400, 467742600, 478629000, 499192200, 511288200, 530037000, 542737800, 562091400, 574792200, 594145800, 606241800, 625595400, 636481800, 657045000, 667931400, 688494600, 699381000, 719944200, 731435400, 751998600, 762885000, 783448200, 794334600, 814897800, 828203400, 846347400, 859653000, 877797000, 891102600, 909246600, 922552200, 941301000, 954001800, 972750600, 985451400, 1004200200, 1017505800, 1035649800, 1048955400, 1067099400, 1080405000, 1099153800, 1111854600, 1130603400, 1143909000, 1162053000, 1174753800, 1193502600, 1207413000, 1223137800 }
     typeOffsets:intvector { 33948, 0, 32400, 0, 34200, 0, 34200, 3600, 36000, 0 }
     typeMap:bin { "0401020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203" }
     finalRule { "AS" }
@@ -1789,42 +1789,34 @@
     links:intvector { 353, 372 }
   } //Z#353
   /* Australia/Canberra */ :int { 368 } //Z#354
-  /* Australia/Currie */ :table {
-    transPre32:intvector { -1, 1949172768 }
-    trans:intvector { -1680508800, -1665392400, -883641600, -876128400, -860400000, -844678800, -828345600, -813229200, 57686400, 67968000, 89136000, 100022400, 120585600, 131472000, 152035200, 162921600, 183484800, 194976000, 215539200, 226425600, 246988800, 257875200, 278438400, 289324800, 309888000, 320774400, 341337600, 352224000, 372787200, 386092800, 404841600, 417542400, 436291200, 447177600, 467740800, 478627200, 499190400, 510076800, 530035200, 542736000, 562089600, 574790400, 594144000, 606240000, 625593600, 637689600, 657043200, 670348800, 686678400, 701798400, 718128000, 733248000, 749577600, 764697600, 781027200, 796147200, 812476800, 828201600, 844531200, 859651200, 875980800, 891100800, 907430400, 922550400, 938880000, 954000000, 967305600, 985449600, 1002384000, 1017504000, 1033833600, 1048953600, 1065283200, 1080403200, 1096732800, 1111852800, 1128182400, 1143907200, 1159632000, 1174752000, 1191686400, 1207411200, 1223136000 }
-    typeOffsets:intvector { 34528, 0, 36000, 0, 36000, 3600 }
-    typeMap:bin { "010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102" }
-    finalRule { "AT" }
-    finalRaw:int { 36000 }
-    finalYear:int { 2009 }
-  } //Z#355
+  /* Australia/Currie */ :int { 358 } //Z#355
   /* Australia/Darwin */ :table {
     transPre32:intvector { -1, 1930859096, -1, 2064778096 }
-    trans:intvector { -1672565340, -1665390600, -883639800, -876126600, -860398200, -844677000, -828343800, -813227400 }
+    trans:intvector { -1672558200, -1665387000, -883639800, -876123000, -860398200, -844673400, -828343800, -813223800 }
     typeOffsets:intvector { 31400, 0, 32400, 0, 34200, 0, 34200, 3600 }
     typeMap:bin { "01020302030203020302" }
     links:intvector { 0, 356, 364 }
   } //Z#356
   /* Australia/Eucla */ :table {
     transPre32:intvector { -1, 1957038768 }
-    trans:intvector { -1672562640, -1665387900, -883637100, -876123900, -860395500, -844674300, 152039700, 162926100, 436295700, 447182100, 690311700, 699383700, 1165079700, 1174756500, 1193505300, 1206810900, 1224954900, 1238260500 }
+    trans:intvector { -1672555500, -1665384300, -883637100, -876120300, -860395500, -844670700, 152039700, 162926100, 436295700, 447182100, 690311700, 699383700, 1165079700, 1174756500, 1193505300, 1206810900, 1224954900, 1238260500 }
     typeOffsets:intvector { 30928, 0, 31500, 0, 31500, 3600 }
     typeMap:bin { "01020102010201020102010201020102010201" }
   } //Z#357
   /* Australia/Hobart */ :table {
     transPre32:intvector { -1, 1949171940 }
-    trans:intvector { -1680508800, -1665392400, -883641600, -876128400, -860400000, -844678800, -828345600, -813229200, -71136000, -55411200, -37267200, -25776000, -5817600, 5673600, 25632000, 37728000, 57686400, 67968000, 89136000, 100022400, 120585600, 131472000, 152035200, 162921600, 183484800, 194976000, 215539200, 226425600, 246988800, 257875200, 278438400, 289324800, 309888000, 320774400, 341337600, 352224000, 372787200, 386092800, 404841600, 417542400, 436291200, 447177600, 467740800, 478627200, 499190400, 510076800, 530035200, 542736000, 562089600, 574790400, 594144000, 606240000, 625593600, 637689600, 657043200, 670348800, 686678400, 701798400, 718128000, 733248000, 749577600, 764697600, 781027200, 796147200, 812476800, 828201600, 844531200, 859651200, 875980800, 891100800, 907430400, 922550400, 938880000, 954000000, 967305600, 985449600, 1002384000, 1017504000, 1033833600, 1048953600, 1065283200, 1080403200, 1096732800, 1111852800, 1128182400, 1143907200, 1159632000, 1174752000, 1191686400, 1207411200, 1223136000 }
+    trans:intvector { -1680508800, -1665388800, -1646640000, -1635753600, -1615190400, -1604304000, -883641600, -876124800, -860400000, -844675200, -828345600, -813225600, -71136000, -55411200, -37267200, -25776000, -5817600, 5673600, 25632000, 37728000, 57686400, 67968000, 89136000, 100022400, 120585600, 131472000, 152035200, 162921600, 183484800, 194976000, 215539200, 226425600, 246988800, 257875200, 278438400, 289324800, 309888000, 320774400, 341337600, 352224000, 372787200, 386092800, 404841600, 417542400, 436291200, 447177600, 467740800, 478627200, 499190400, 510076800, 530035200, 542736000, 562089600, 574790400, 594144000, 606240000, 625593600, 637689600, 657043200, 670348800, 686678400, 701798400, 718128000, 733248000, 749577600, 764697600, 781027200, 796147200, 812476800, 828201600, 844531200, 859651200, 875980800, 891100800, 907430400, 922550400, 938880000, 954000000, 967305600, 985449600, 1002384000, 1017504000, 1033833600, 1048953600, 1065283200, 1080403200, 1096732800, 1111852800, 1128182400, 1143907200, 1159632000, 1174752000, 1191686400, 1207411200, 1223136000 }
     typeOffsets:intvector { 35356, 0, 36000, 0, 36000, 3600 }
-    typeMap:bin { "0102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102" }
+    typeMap:bin { "010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102" }
     finalRule { "AT" }
     finalRaw:int { 36000 }
     finalYear:int { 2009 }
-    links:intvector { 358, 369 }
+    links:intvector { 355, 358, 369 }
   } //Z#358
   /* Australia/LHI */ :int { 361 } //Z#359
   /* Australia/Lindeman */ :table {
     transPre32:intvector { -1, 1928176340 }
-    trans:intvector { -1672567140, -1665392400, -883641600, -876128400, -860400000, -844678800, -828345600, -813229200, 57686400, 67968000, 625593600, 636480000, 657043200, 667929600, 688492800, 699379200, 719942400, 731433600, 751996800, 762883200 }
+    trans:intvector { -1672560000, -1665388800, -883641600, -876124800, -860400000, -844675200, -828345600, -813225600, 57686400, 67968000, 625593600, 636480000, 657043200, 667929600, 688492800, 699379200, 719942400, 731433600, 751996800, 762883200 }
     typeOffsets:intvector { 35756, 0, 36000, 0, 36000, 3600 }
     typeMap:bin { "010201020102010201020102010201020102010201" }
   } //Z#360
@@ -1840,7 +1832,7 @@
   } //Z#361
   /* Australia/Melbourne */ :table {
     transPre32:intvector { -1, 1930855704 }
-    trans:intvector { -1672567140, -1665392400, -883641600, -876128400, -860400000, -844678800, -828345600, -813229200, 57686400, 67968000, 89136000, 100022400, 120585600, 131472000, 152035200, 162921600, 183484800, 194976000, 215539200, 226425600, 246988800, 257875200, 278438400, 289324800, 309888000, 320774400, 341337600, 352224000, 372787200, 384278400, 404841600, 415728000, 436291200, 447177600, 467740800, 478627200, 499190400, 511286400, 530035200, 542736000, 561484800, 574790400, 594144000, 606240000, 625593600, 637689600, 657043200, 667929600, 688492800, 699379200, 719942400, 731433600, 751996800, 762883200, 783446400, 796147200, 814896000, 828201600, 846345600, 859651200, 877795200, 891100800, 909244800, 922550400, 941299200, 954000000, 967305600, 985449600, 1004198400, 1017504000, 1035648000, 1048953600, 1067097600, 1080403200, 1099152000, 1111852800, 1130601600, 1143907200, 1162051200, 1174752000, 1193500800, 1207411200, 1223136000 }
+    trans:intvector { -1672560000, -1665388800, -883641600, -876124800, -860400000, -844675200, -828345600, -813225600, 57686400, 67968000, 89136000, 100022400, 120585600, 131472000, 152035200, 162921600, 183484800, 194976000, 215539200, 226425600, 246988800, 257875200, 278438400, 289324800, 309888000, 320774400, 341337600, 352224000, 372787200, 384278400, 404841600, 415728000, 436291200, 447177600, 467740800, 478627200, 499190400, 511286400, 530035200, 542736000, 561484800, 574790400, 594144000, 606240000, 625593600, 637689600, 657043200, 667929600, 688492800, 699379200, 719942400, 731433600, 751996800, 762883200, 783446400, 796147200, 814896000, 828201600, 846345600, 859651200, 877795200, 891100800, 909244800, 922550400, 941299200, 954000000, 967305600, 985449600, 1004198400, 1017504000, 1035648000, 1048953600, 1067097600, 1080403200, 1099152000, 1111852800, 1130601600, 1143907200, 1162051200, 1174752000, 1193500800, 1207411200, 1223136000 }
     typeOffsets:intvector { 34792, 0, 36000, 0, 36000, 3600 }
     typeMap:bin { "010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102" }
     finalRule { "AV" }
@@ -1852,7 +1844,7 @@
   /* Australia/North */ :int { 356 } //Z#364
   /* Australia/Perth */ :table {
     transPre32:intvector { -1, 1957041892 }
-    trans:intvector { -1672559940, -1665385200, -883634400, -876121200, -860392800, -844671600, 152042400, 162928800, 436298400, 447184800, 690314400, 699386400, 1165082400, 1174759200, 1193508000, 1206813600, 1224957600, 1238263200 }
+    trans:intvector { -1672552800, -1665381600, -883634400, -876117600, -860392800, -844668000, 152042400, 162928800, 436298400, 447184800, 690314400, 699386400, 1165082400, 1174759200, 1193508000, 1206813600, 1224957600, 1238263200 }
     typeOffsets:intvector { 27804, 0, 28800, 0, 28800, 3600 }
     typeMap:bin { "01020102010201020102010201020102010201" }
     links:intvector { 365, 371 }
@@ -1861,7 +1853,7 @@
   /* Australia/South */ :int { 351 } //Z#367
   /* Australia/Sydney */ :table {
     transPre32:intvector { -1, 1930854204 }
-    trans:intvector { -1672567140, -1665392400, -883641600, -876128400, -860400000, -844678800, -828345600, -813229200, 57686400, 67968000, 89136000, 100022400, 120585600, 131472000, 152035200, 162921600, 183484800, 194976000, 215539200, 226425600, 246988800, 257875200, 278438400, 289324800, 309888000, 320774400, 341337600, 352224000, 372787200, 386697600, 404841600, 415728000, 436291200, 447177600, 467740800, 478627200, 499190400, 511286400, 530035200, 542736000, 562089600, 574790400, 594144000, 606240000, 625593600, 636480000, 657043200, 667929600, 688492800, 699379200, 719942400, 731433600, 751996800, 762883200, 783446400, 794332800, 814896000, 828201600, 846345600, 859651200, 877795200, 891100800, 909244800, 922550400, 941299200, 954000000, 967305600, 985449600, 1004198400, 1017504000, 1035648000, 1048953600, 1067097600, 1080403200, 1099152000, 1111852800, 1130601600, 1143907200, 1162051200, 1174752000, 1193500800, 1207411200, 1223136000 }
+    trans:intvector { -1672560000, -1665388800, -883641600, -876124800, -860400000, -844675200, -828345600, -813225600, 57686400, 67968000, 89136000, 100022400, 120585600, 131472000, 152035200, 162921600, 183484800, 194976000, 215539200, 226425600, 246988800, 257875200, 278438400, 289324800, 309888000, 320774400, 341337600, 352224000, 372787200, 386697600, 404841600, 415728000, 436291200, 447177600, 467740800, 478627200, 499190400, 511286400, 530035200, 542736000, 562089600, 574790400, 594144000, 606240000, 625593600, 636480000, 657043200, 667929600, 688492800, 699379200, 719942400, 731433600, 751996800, 762883200, 783446400, 794332800, 814896000, 828201600, 846345600, 859651200, 877795200, 891100800, 909244800, 922550400, 941299200, 954000000, 967305600, 985449600, 1004198400, 1017504000, 1035648000, 1048953600, 1067097600, 1080403200, 1099152000, 1111852800, 1130601600, 1143907200, 1162051200, 1174752000, 1193500800, 1207411200, 1223136000 }
     typeOffsets:intvector { 36292, 0, 36000, 0, 36000, 3600 }
     typeMap:bin { "010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102" }
     finalRule { "AN" }
@@ -2390,9 +2382,9 @@
     finalYear:int { 2004 }
   } //Z#497
   /* Europe/Volgograd */ :table {
-    trans:intvector { -1577761060, -1247540400, 354916800, 370724400, 386452800, 402260400, 417988800, 433796400, 449611200, 465343200, 481068000, 496792800, 512517600, 528242400, 543967200, 559692000, 575416800, 591145200, 606870000, 622594800, 638319600, 654649200, 670374000, 701820000, 717548400, 733273200, 748998000, 764722800, 780447600, 796172400, 811897200, 828226800, 846370800, 859676400, 877820400, 891126000, 909270000, 922575600, 941324400, 954025200, 972774000, 985474800, 1004223600, 1017529200, 1035673200, 1048978800, 1067122800, 1080428400, 1099177200, 1111878000, 1130626800, 1143327600, 1162076400, 1174777200, 1193526000, 1206831600, 1224975600, 1238281200, 1256425200, 1269730800, 1288479600, 1301180400, 1414274400, 1540681200 }
+    trans:intvector { -1577761060, -1247540400, 354916800, 370724400, 386452800, 402260400, 417988800, 433796400, 449611200, 465343200, 481068000, 496792800, 512517600, 528242400, 543967200, 559692000, 575416800, 591145200, 606870000, 622594800, 638319600, 654649200, 670374000, 701820000, 717548400, 733273200, 748998000, 764722800, 780447600, 796172400, 811897200, 828226800, 846370800, 859676400, 877820400, 891126000, 909270000, 922575600, 941324400, 954025200, 972774000, 985474800, 1004223600, 1017529200, 1035673200, 1048978800, 1067122800, 1080428400, 1099177200, 1111878000, 1130626800, 1143327600, 1162076400, 1174777200, 1193526000, 1206831600, 1224975600, 1238281200, 1256425200, 1269730800, 1288479600, 1301180400, 1414274400, 1540681200, 1609020000 }
     typeOffsets:intvector { 10660, 0, 10800, 0, 10800, 3600, 14400, 0, 14400, 3600 }
-    typeMap:bin { "01030403040304030403040304030403020102010201030201020102010201020102010201020102010201020102010201020102010201020102010201030103" }
+    typeMap:bin { "0103040304030403040304030403040302010201020103020102010201020102010201020102010201020102010201020102010201020102010201020103010301" }
   } //Z#498
   /* Europe/Warsaw */ :table {
     trans:intvector { -1717032240, -1693706400, -1680483600, -1663455600, -1650150000, -1632006000, -1618700400, -1600473600, -1587168000, -1501725600, -931734000, -857257200, -844556400, -828226800, -812502000, -796608000, -778726800, -762660000, -748486800, -733273200, -715215600, -701910000, -684975600, -670460400, -654130800, -639010800, -397094400, -386812800, -371088000, -355363200, -334195200, -323308800, -307584000, -291859200, -271296000, -260409600, -239846400, -228960000, -208396800, -197510400, -176342400, -166060800, 228873600, 243993600, 260323200, 276048000, 291772800, 307497600, 323827200, 338947200, 354672000, 370396800, 386121600, 401846400, 417571200, 433296000, 449020800, 465350400, 481075200, 496800000, 512524800, 528249600, 543974400, 559699200, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
@@ -2463,7 +2455,7 @@
     typeMap:bin { "01" }
   } //Z#521
   /* Indian/Mahe */ :table {
-    trans:intvector { -2006653308 }
+    trans:intvector { -1988163708 }
     typeOffsets:intvector { 13308, 0, 14400, 0 }
     typeMap:bin { "01" }
   } //Z#522
@@ -2584,9 +2576,9 @@
     links:intvector { 395, 557 }
   } //Z#557
   /* Pacific/Efate */ :table {
-    trans:intvector { -1829387596, 433256400, 448977600, 467298000, 480427200, 496760400, 511876800, 528210000, 543931200, 559659600, 575380800, 591109200, 606830400, 622558800, 638280000, 654008400, 669729600, 686062800, 696340800, 719931600, 727790400 }
+    trans:intvector { -1829387596, 125409600, 133876800, 433256400, 448977600, 464706000, 480427200, 496760400, 511876800, 528210000, 543931200, 559659600, 575380800, 591109200, 606830400, 622558800, 638280000, 654008400, 669729600, 686062800, 696340800, 719931600, 727790400 }
     typeOffsets:intvector { 40396, 0, 39600, 0, 39600, 3600 }
-    typeMap:bin { "010201020102010201020102010201020102010201" }
+    typeMap:bin { "0102010201020102010201020102010201020102010201" }
   } //Z#558
   /* Pacific/Enderbury */ :table {
     transPre32:intvector { -1, 2117555556 }
diff --git a/icu4c/source/i18n/smpdtfmt.cpp b/icu4c/source/i18n/smpdtfmt.cpp
index 4717899..a3ec7cb 100644
--- a/icu4c/source/i18n/smpdtfmt.cpp
+++ b/icu4c/source/i18n/smpdtfmt.cpp
@@ -231,6 +231,13 @@
 static const int32_t HEBREW_CAL_CUR_MILLENIUM_START_YEAR = 5000;
 static const int32_t HEBREW_CAL_CUR_MILLENIUM_END_YEAR = 6000;
 
+/**
+ * Maximum range for detecting daylight offset of a time zone when parsed time zone
+ * string indicates it's daylight saving time, but the detected time zone does not
+ * observe daylight saving time at the parsed date.
+ */
+static const double MAX_DAYLIGHT_DETECTION_RANGE = 30*365*24*60*60*1000.0;
+
 static UMutex LOCK;
 
 UOBJECT_DEFINE_RTTI_IMPLEMENTATION(SimpleDateFormat)
@@ -2575,51 +2582,47 @@
             } else { // tztype == TZTYPE_DST
                 if (dst == 0) {
                     if (btz != NULL) {
-                        UDate time = localMillis + raw;
-                        // We use the nearest daylight saving time rule.
-                        TimeZoneTransition beforeTrs, afterTrs;
-                        UDate beforeT = time, afterT = time;
-                        int32_t beforeSav = 0, afterSav = 0;
-                        UBool beforeTrsAvail, afterTrsAvail;
+                        // This implementation resolves daylight saving time offset
+                        // closest rule after the given time.
+                        UDate baseTime = localMillis + raw;
+                        UDate time = baseTime;
+                        UDate limit = baseTime + MAX_DAYLIGHT_DETECTION_RANGE;
+                        TimeZoneTransition trs;
+                        UBool trsAvail;
 
-                        // Search for DST rule before or on the time
-                        while (TRUE) {
-                            beforeTrsAvail = btz->getPreviousTransition(beforeT, TRUE, beforeTrs);
-                            if (!beforeTrsAvail) {
+                        // Search for DST rule after the given time
+                        while (time < limit) {
+                            trsAvail = btz->getNextTransition(time, FALSE, trs);
+                            if (!trsAvail) {
                                 break;
                             }
-                            beforeT = beforeTrs.getTime() - 1;
-                            beforeSav = beforeTrs.getFrom()->getDSTSavings();
-                            if (beforeSav != 0) {
+                            resolvedSavings = trs.getTo()->getDSTSavings();
+                            if (resolvedSavings != 0) {
                                 break;
                             }
+                            time = trs.getTime();
                         }
 
-                        // Search for DST rule after the time
-                        while (TRUE) {
-                            afterTrsAvail = btz->getNextTransition(afterT, FALSE, afterTrs);
-                            if (!afterTrsAvail) {
-                                break;
+                        if (resolvedSavings == 0) {
+                            // If no DST rule after the given time was found, search for
+                            // DST rule before.
+                            time = baseTime;
+                            limit = baseTime - MAX_DAYLIGHT_DETECTION_RANGE;
+                            while (time > limit) {
+                                trsAvail = btz->getPreviousTransition(time, TRUE, trs);
+                                if (!trsAvail) {
+                                    break;
+                                }
+                                resolvedSavings = trs.getFrom()->getDSTSavings();
+                                if (resolvedSavings != 0) {
+                                    break;
+                                }
+                                time = trs.getTime() - 1;
                             }
-                            afterT = afterTrs.getTime();
-                            afterSav = afterTrs.getTo()->getDSTSavings();
-                            if (afterSav != 0) {
-                                break;
-                            }
-                        }
 
-                        if (beforeTrsAvail && afterTrsAvail) {
-                            if (time - beforeT > afterT - time) {
-                                resolvedSavings = afterSav;
-                            } else {
-                                resolvedSavings = beforeSav;
+                            if (resolvedSavings == 0) {
+                                resolvedSavings = btz->getDSTSavings();
                             }
-                        } else if (beforeTrsAvail && beforeSav != 0) {
-                            resolvedSavings = beforeSav;
-                        } else if (afterTrsAvail && afterSav != 0) {
-                            resolvedSavings = afterSav;
-                        } else {
-                            resolvedSavings = btz->getDSTSavings();
                         }
                     } else {
                         resolvedSavings = tz.getDSTSavings();
diff --git a/icu4c/source/test/intltest/tzfmttst.cpp b/icu4c/source/test/intltest/tzfmttst.cpp
index 40362aa..0f58a00 100644
--- a/icu4c/source/test/intltest/tzfmttst.cpp
+++ b/icu4c/source/test/intltest/tzfmttst.cpp
@@ -86,6 +86,7 @@
         TESTCASE(6, TestFormatCustomZone);
         TESTCASE(7, TestFormatTZDBNamesAllZoneCoverage);
         TESTCASE(8, TestAdoptDefaultThreadSafe);
+        TESTCASE(9, TestCentralTime);
     default: name = ""; break;
     }
 }
@@ -1340,4 +1341,57 @@
         }
     }
 }
+
+// Test for checking parse results are same for a same input string
+// using SimpleDateFormat initialized with different regional locales - US and Belize.
+// Belize did not observe DST from 1968 to 1973, 1975 to 1982, and 1985 and later.
+void
+TimeZoneFormatTest::TestCentralTime(void) {
+    UnicodeString pattern(u"y-MM-dd HH:mm:ss zzzz");
+    UnicodeString testInputs[] = {
+        // 1970-01-01 - Chicago:STD/Belize:STD
+        u"1970-01-01 12:00:00 Central Standard Time",
+        u"1970-01-01 12:00:00 Central Daylight Time",
+
+        // 1970-07-01 - Chicago:STD/Belize:STD
+        u"1970-07-01 12:00:00 Central Standard Time",
+        u"1970-07-01 12:00:00 Central Daylight Time",
+
+        // 1974-01-01 - Chicago:STD/Belize:DST
+        u"1974-01-01 12:00:00 Central Standard Time",
+        u"1974-01-01 12:00:00 Central Daylight Time",
+
+        // 2020-01-01 - Chicago:STD/Belize:STD
+        u"2020-01-01 12:00:00 Central Standard Time",
+        u"2020-01-01 12:00:00 Central Daylight Time",
+
+        // 2020-01-01 - Chicago:DST/Belize:STD
+        u"2020-07-01 12:00:00 Central Standard Time",
+        u"2020-07-01 12:00:00 Central Daylight Time",
+
+        u""
+    };
+
+    UErrorCode status = U_ZERO_ERROR;
+    SimpleDateFormat sdfUS(pattern, Locale("en_US"), status);
+    SimpleDateFormat sdfBZ(pattern, Locale("en_BZ"), status);
+    if (U_FAILURE(status)) {
+        errln("Failed to create SimpleDateFormat instance");
+        return;
+    }
+
+    for (int32_t i = 0; !testInputs[i].isEmpty(); i++) {
+        UDate dUS = sdfUS.parse(testInputs[i], status);
+        UDate dBZ = sdfBZ.parse(testInputs[i], status);
+
+        if (U_FAILURE(status)) {
+            errln((UnicodeString)"Failed to parse date string: " + testInputs[i]);
+            continue;
+        }
+
+        if (dUS != dBZ) {
+            errln((UnicodeString)"Parse results should be same for input: " + testInputs[i]);
+        }
+    }
+}
 #endif /* #if !UCONFIG_NO_FORMATTING */
diff --git a/icu4c/source/test/intltest/tzfmttst.h b/icu4c/source/test/intltest/tzfmttst.h
index 1335a08..5a905be 100644
--- a/icu4c/source/test/intltest/tzfmttst.h
+++ b/icu4c/source/test/intltest/tzfmttst.h
@@ -30,6 +30,7 @@
     void TestFormatCustomZone(void);
     void TestFormatTZDBNamesAllZoneCoverage(void);
     void TestAdoptDefaultThreadSafe(void);
+    void TestCentralTime(void);
 
     void RunTimeRoundTripTests(int32_t threadNumber);
     void RunAdoptDefaultThreadSafeTests(int32_t threadNumber);
diff --git a/icu4c/source/test/intltest/tztest.cpp b/icu4c/source/test/intltest/tztest.cpp
index 17492a7..93d992f 100644
--- a/icu4c/source/test/intltest/tztest.cpp
+++ b/icu4c/source/test/intltest/tztest.cpp
@@ -2074,6 +2074,8 @@
         {"Asia/Vientiane", "Asia/Bangkok"},
         {"Atlantic/Jan_Mayen", "Europe/Oslo"},
         {"Atlantic/St_Helena", "Africa/Abidjan"},
+        {"Australia/Currie", "Australia/Hobart"},
+        {"Australia/Tasmania", "Australia/Hobart"},
         {"Europe/Bratislava", "Europe/Prague"},
         {"Europe/Busingen", "Europe/Zurich"},
         {"Europe/Guernsey", "Europe/London"},
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/SimpleDateFormat.java b/icu4j/main/classes/core/src/com/ibm/icu/text/SimpleDateFormat.java
index 8c89c16..040258c 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/text/SimpleDateFormat.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/text/SimpleDateFormat.java
@@ -2381,6 +2381,13 @@
     }
 
     /**
+     * Maximum range for detecting daylight offset of a time zone when parsed time zone
+     * string indicates it's daylight saving time, but the detected time zone does not
+     * observe daylight saving time at the parsed date.
+     */
+    private static final long MAX_DAYLIGHT_DETECTION_RANGE = 30*365*24*60*60*1000L;
+
+    /**
      * Overrides DateFormat
      * @see DateFormat
      * @stable ICU 2.0
@@ -2735,50 +2742,46 @@
                     } else { // tztype == TZTYPE_DST
                         if (offsets[1] == 0) {
                             if (btz != null) {
-                                long time = localMillis + offsets[0];
-                                // We use the nearest daylight saving time rule.
-                                TimeZoneTransition beforeTrs, afterTrs;
-                                long beforeT = time, afterT = time;
-                                int beforeSav = 0, afterSav = 0;
+                                // This implementation resolves daylight saving time offset
+                                // closest rule after the given time.
+                                long baseTime = localMillis + offsets[0];
+                                long time = baseTime;
+                                long limit = baseTime + MAX_DAYLIGHT_DETECTION_RANGE;
+                                TimeZoneTransition trs = null;
 
-                                // Search for DST rule before or on the time
-                                while (true) {
-                                    beforeTrs = btz.getPreviousTransition(beforeT, true);
-                                    if (beforeTrs == null) {
+                                // Search for DST rule after the given time
+                                while (time < limit) {
+                                    trs = btz.getNextTransition(time, false);
+                                    if (trs == null) {
                                         break;
                                     }
-                                    beforeT = beforeTrs.getTime() - 1;
-                                    beforeSav = beforeTrs.getFrom().getDSTSavings();
-                                    if (beforeSav != 0) {
+                                    resolvedSavings = trs.getTo().getDSTSavings();
+                                    if (resolvedSavings != 0) {
                                         break;
                                     }
+                                    time = trs.getTime();
                                 }
 
-                                // Search for DST rule after the time
-                                while (true) {
-                                    afterTrs = btz.getNextTransition(afterT, false);
-                                    if (afterTrs == null) {
-                                        break;
+                                if (resolvedSavings == 0) {
+                                    // If no DST rule after the given time was found, search for
+                                    // DST rule before.
+                                    time = baseTime;
+                                    limit = baseTime - MAX_DAYLIGHT_DETECTION_RANGE;
+                                    while (time > limit) {
+                                        trs = btz.getPreviousTransition(time, true);
+                                        if (trs == null) {
+                                            break;
+                                        }
+                                        resolvedSavings = trs.getFrom().getDSTSavings();
+                                        if (resolvedSavings != 0) {
+                                            break;
+                                        }
+                                        time = trs.getTime() - 1;
                                     }
-                                    afterT = afterTrs.getTime();
-                                    afterSav = afterTrs.getTo().getDSTSavings();
-                                    if (afterSav != 0) {
-                                        break;
-                                    }
-                                }
 
-                                if (beforeTrs != null && afterTrs != null) {
-                                    if (time - beforeT > afterT - time) {
-                                        resolvedSavings = afterSav;
-                                    } else {
-                                        resolvedSavings = beforeSav;
+                                    if (resolvedSavings == 0) {
+                                        resolvedSavings = btz.getDSTSavings();
                                     }
-                                } else if (beforeTrs != null && beforeSav != 0) {
-                                    resolvedSavings = beforeSav;
-                                } else if (afterTrs != null && afterSav != 0) {
-                                    resolvedSavings = afterSav;
-                                } else {
-                                    resolvedSavings = btz.getDSTSavings();
                                 }
                             } else {
                                 resolvedSavings = tz.getDSTSavings();
diff --git a/icu4j/main/shared/data/icutzdata.jar b/icu4j/main/shared/data/icutzdata.jar
index b1f3c44..8b80100 100644
--- a/icu4j/main/shared/data/icutzdata.jar
+++ b/icu4j/main/shared/data/icutzdata.jar
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:3ed9607128c66bdca1458201bb1bd30e60d40fa024ce7c42f531e3930ebe2b12
-size 94662
+oid sha256:6ae4e00ad4101373226842c53ffda26ba476dfd3487926b2c20a5117f386417c
+size 95066
diff --git a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/TimeZoneFormatTest.java b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/TimeZoneFormatTest.java
index cd258e3..71a33cd 100644
--- a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/TimeZoneFormatTest.java
+++ b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/TimeZoneFormatTest.java
@@ -385,7 +385,7 @@
 
                 Set<String> ids = null;
                 if (JDKTZ) {
-                    ids = new TreeSet<String>();
+                    ids = new TreeSet<>();
                     String[] jdkIDs = java.util.TimeZone.getAvailableIDs();
                     for (String jdkID : jdkIDs) {
                         if (EXCL_TZ_PATTERN.matcher(jdkID).matches()) {
@@ -659,7 +659,7 @@
             TimeType expType = (TimeType)test[7];
 
             TimeZoneFormat tzfmt = TimeZoneFormat.getInstance(loc);
-            Output<TimeType> timeType = new Output<TimeType>(TimeType.UNKNOWN);
+            Output<TimeType> timeType = new Output<>(TimeType.UNKNOWN);
             ParsePosition pos = new ParsePosition(inPos);
             TimeZone tz = tzfmt.parse(style, text, pos, options, timeType);
 
@@ -950,7 +950,7 @@
 
         for (Object[] testCase : TESTDATA) {
             TimeZone tz = TimeZone.getTimeZone((String)testCase[1]);
-            Output<TimeType> timeType = new Output<TimeType>();
+            Output<TimeType> timeType = new Output<>();
 
             ULocale uloc = new ULocale((String)testCase[0]);
             TimeZoneFormat tzfmt = TimeZoneFormat.getInstance(uloc);
@@ -1046,7 +1046,7 @@
             tzfmt.setTimeZoneNames(tzdbNames);
 
             TimeZone tz = TimeZone.getTimeZone((String)testCase[1]);
-            Output<TimeType> timeType = new Output<TimeType>();
+            Output<TimeType> timeType = new Output<>();
             String out = tzfmt.format((Style)testCase[3], tz, ((Date)testCase[2]).getTime(), timeType);
 
             if (!out.equals(testCase[4]) || timeType.value != testCase[5]) {
@@ -1102,7 +1102,7 @@
     public void TestTZDBNamesThreading() {
         final TZDBTimeZoneNames names = new TZDBTimeZoneNames(ULocale.ENGLISH);
         final AtomicInteger found = new AtomicInteger();
-        List<Thread> threads = new ArrayList<Thread>();
+        List<Thread> threads = new ArrayList<>();
         final int numIteration = 1000;
 
         try {
@@ -1315,4 +1315,42 @@
             assertEquals("MatchInfo constructor exception", "matchLength must be positive value", e.getMessage());
         }
     }
+
+    // Test for checking parse results are same for a same input string
+    // using SimpleDateFormat initialized with different regional locales - US and Belize.
+    // Belize did not observe DST from 1968 to 1973, 1975 to 1982, and 1985 and later.
+    @Test
+    public void TestCentralTime() throws ParseException {
+        final String pattern = "y-MM-dd HH:mm:ss zzzz";
+        final String[] testInputs = {
+            // 1970-01-01 - Chicago:STD/Belize:STD
+            "1970-01-01 12:00:00 Central Standard Time",
+            "1970-01-01 12:00:00 Central Daylight Time",
+
+            // 1970-07-01 - Chicago:STD/Belize:STD
+            "1970-07-01 12:00:00 Central Standard Time",
+            "1970-07-01 12:00:00 Central Daylight Time",
+
+            // 1974-01-01 - Chicago:STD/Belize:DST
+            "1974-01-01 12:00:00 Central Standard Time",
+            "1974-01-01 12:00:00 Central Daylight Time",
+
+            // 2020-01-01 - Chicago:STD/Belize:STD
+            "2020-01-01 12:00:00 Central Standard Time",
+            "2020-01-01 12:00:00 Central Daylight Time",
+
+            // 2020-01-01 - Chicago:DST/Belize:STD
+            "2020-07-01 12:00:00 Central Standard Time",
+            "2020-07-01 12:00:00 Central Daylight Time",
+        };
+
+        SimpleDateFormat sdfUS = new SimpleDateFormat(pattern, new ULocale("en_US"));
+        SimpleDateFormat sdfBZ = new SimpleDateFormat(pattern, new ULocale("en_BZ"));
+
+        for (String testInput : testInputs) {
+            Date dUS = sdfUS.parse(testInput);
+            Date dBZ = sdfBZ.parse(testInput);
+            assertEquals("Parse results should be same for input: " + testInput, dUS, dBZ);
+        }
+    }
 }
diff --git a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/timezone/TimeZoneTest.java b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/timezone/TimeZoneTest.java
index 1f259d4..180894d 100644
--- a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/timezone/TimeZoneTest.java
+++ b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/timezone/TimeZoneTest.java
@@ -1572,6 +1572,8 @@
                 {"Asia/Vientiane", "Asia/Bangkok"},
                 {"Atlantic/Jan_Mayen", "Europe/Oslo"},
                 {"Atlantic/St_Helena", "Africa/Abidjan"},
+                {"Australia/Currie", "Australia/Hobart"},
+                {"Australia/Tasmania", "Australia/Hobart"},
                 {"Europe/Bratislava", "Europe/Prague"},
                 {"Europe/Busingen", "Europe/Zurich"},
                 {"Europe/Guernsey", "Europe/London"},