TimeZone - 如何区分GMT时区和无法识别的时区?

时间:2016-08-04 06:41:10

标签: java datetime

当您根据无法识别的自定义ID(例如有拼写错误)创建java.util.TimeZone类的实例时,您将获得GMT时区。

TimeZone timezone = TimeZone.getTimeZone("Europ/Zurich"); //'e' missing in 'Europe'
System.out.println(timezone.getID()); //result: "GMT"

我应该如何区分“真正的”GMT时区和无法识别的时区?

1 个答案:

答案 0 :(得分:1)

无法找到直接API来执行此操作。您可以使用获取ID,然后查找匹配项。只是一个参考impl。这里

Set<String> timezones = new HashSet<String>(Arrays.asList(TimeZone.getAvailableIDs()));

System.out.println(timezones.contains("Europ/Zurich"));
System.out.println(timezones.contains("Europe/Zurich"));
相关问题