--- a/src/java.base/share/classes/sun/util/cldr/CLDRTimeZoneNameProviderImpl.java Fri Jun 15 10:48:56 2018 +0530
+++ b/src/java.base/share/classes/sun/util/cldr/CLDRTimeZoneNameProviderImpl.java Fri Jun 15 11:58:34 2018 +0530
@@ -178,13 +178,27 @@
// last resort
String id = names[INDEX_TZID].toUpperCase(Locale.ROOT);
- if (!id.startsWith("ETC/GMT") &&
- !id.startsWith("GMT") &&
- !id.startsWith("UT")) {
+ if (!id.startsWith("UT")) {
names[index] = toGMTFormat(names[INDEX_TZID],
index == INDEX_DST_LONG || index == INDEX_DST_SHORT,
index % 2 != 0,
locale);
+ // aliases of "GMT" timezone.
+ if ((exists(names, INDEX_STD_LONG)) && (id.startsWith("Etc/")
+ || id.startsWith("GMT") || id.startsWith("Greenwich"))) {
+ switch (id) {
+ case "Etc/GMT":
+ case "Etc/GMT-0":
+ case "Etc/GMT+0":
+ case "Etc/GMT0":
+ case "GMT+0":
+ case "GMT-0":
+ case "GMT0":
+ case "Greenwich":
+ names[INDEX_DST_LONG] = names[INDEX_GEN_LONG] = names[INDEX_STD_LONG];
+ break;
+ }
+ }
}
}