我们的数据库跟踪许多"生产设施"。每个设施都有一个地址,名称,最重要的是时区。我如何找出时区的名称?
对于我们的最初设施来说,这很明显,因为该代码是以我们的城市(美国/埃德蒙顿)命名的。我通常如何通过呼叫 dateTimeZone.forID(" timezone")ex dateTimezone.forid(" seriver/edmonton'')?
具体来说,我们正在佐治亚州亚特兰大开设一个设施,我不确定要使用哪种代码?这是其中之一吗?
- "大西洋/south_georgia"
- 美国/东方"
- " EST5EDT"
- " est"
这种信息确实很棘手(更不用说保持最新的棘手了)。实际上,它可以通过县变化(西翼有一个很棒的景象:)。Google Maps API最近提供了从LAT LON到TimeZone的支持
东部时间的IANA标准时区标识符为America/New_York
。据推测,这是标准的Joda时间正在使用,因为(1)每个人都使用它,并且(2)城市名称为目标。
您可以获取一个列表:
for (String string : TimeZone.getAvailableIDs(TimeZone.getTimeZone(
"GMT-05:00").getRawOffset())) {
System.out.println(string);
}
它将包括(除其他许多)"我们/东部"。
您可以使用此方法列出可用时区ID:http://docs.oracle.com/javase/7/docs/api/java/java/util/timezone.html#getavailableids()
时区数据似乎来自此数据库:http://en.wikipedia.org/wiki/tz_database
您可以在这里进行查找:http://twiki.org/cgi-bin/xtra/tzdatepick.html