List<String> errors = new ArrayList<>(); try {
TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles")); for (Locale locale : DateFormat.getAvailableLocales()) { // exclude any locales which localize "UTC".
String utc = UTC.getDisplayName(false, SHORT, locale); if (!"UTC".equals(utc)) {
System.out.println("Skipping " + locale + " due to localized UTC name: " + utc); continue;
}
SimpleDateFormat fmt = new SimpleDateFormat("z", locale); try {
Date date = fmt.parse("UTC"); // Parsed one may not exactly be UTC. Universal, UCT, etc. are equivalents. if (!fmt.getTimeZone().getID().matches("(Etc/)?(UTC|Universal|UCT|Zulu)")) {
errors.add("timezone: " + fmt.getTimeZone().getID()
+ ", locale: " + locale);
}
} catch (ParseException e) {
errors.add("parse exception: " + e + ", locale: " + locale);
}
}
} finally { // Restore the default time zone
TimeZone.setDefault(initTz);
}
if (!errors.isEmpty()) {
System.out.println("Got unexpected results:"); for (String s : errors) {
System.out.println(" " + s);
} thrownew RuntimeException("Test failed.");
} else {
System.out.println("Test passed.");
}
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.