Java JVM时区名称通过java.text.SimpleDateFormat

时间:2009-03-05 08:13:27

标签: java jvm timezone

java.text.SimpleDateFormat上的Javadocs在“z”模式字母上声明以下内容:

  

z时区一般时区太平洋标准时间;太平洋标准时间; GMT-08:00

     

常规时区:如果时区具有名称,则会将其解释为文本。对于表示GMT偏移值的时区,使用以下语法...

问题是 - “如果他们有名字”......它从哪里得到这些名字?我在一个环境中看到JST即将成为“JST”,而另一个环境则称为“GMT + 9”

2 个答案:

答案 0 :(得分:2)

时区名称嵌入在JVM中。它们来自Arthur David Olson维护的tz数据库。时区名称之间的差异是由使用不同版本的tz数据库的JVM引起的。 Sun为其JVM提供Timezone updater tool,您可以使用它来更新时区名称定义。当然,最好使用最新的JVM更新,但这并不总是一种选择。

答案 1 :(得分:0)

它应该支持 LDML
定义的时区显示名称 (Unicode Locale Data Markup Language)规范。

您会在Time Zone Localization中找到所有姓名,尤其是“aliases