【发布时间】:2015-10-27 16:31:30
【问题描述】:
我有以下指令:
TimeZone zone = TimeZone.getTimeZone("Asia/Toyo");
显然,它应该返回 null,但它会返回默认时区,这不是我所希望的行为。来自 Java 文档:
返回指定的
TimeZone,如果无法理解给定的 ID,则返回 GMT 区域。
如果String不表示有效的TimeZone,有没有办法获取对应的TimeZone和null值?
我没有找到一个很好的解决方案来获取所有 TimeZone 并对其进行迭代。
【问题讨论】:
-
您可能会考虑仅在 GMT 时检查结果,而不是遍历所有可用的 tzid。如果是这样,请检查您的输入是否是“GMT”或“UTC”或“UT”或“GMT0”或类似的。如果是则 ok else 返回 null。