Java:UTC / GMT + 0的时区随机显示名称

时间:2012-05-29 16:05:44

标签: java timezone

我们目前遇到的问题是,我们在JAVA中获得了相同时区的不同显示名称。

代码:

TimeZone.getDefault().getDisplayName();

我有两台以UTC运行的机器: 在一台机器上我得到“Greenwich Zeit”,在另一台机器上我得到“Koordinierte Universalzeit”。

我使用http://sanjaal.com/java/462/java-date-time-calendar/how-to-get-all-supported-timzone-ids-display-name-and-gmt-offset/中的代码获取所有时区ID及其显示名称和偏移量的列表。您可以在下面看到仅显示GMT + 0结果的摘录。

Java出于某种原因似乎为这个时区随机选择了一个名字(TimeZone.getDefault())

问题:有没有办法始终获得相同的一致显示名称?

Africa/Accra                    :Ghanaische Normalzeit                                 GMT+0:0
Africa/Bamako                   :Greenwich Zeit                                        GMT+0:0
Africa/Banjul                   :Greenwich Zeit                                        GMT+0:0
Africa/Bissau                   :Greenwich Zeit                                        GMT+0:0
Africa/Casablanca               :Westeuropäische Zeit                                  GMT+0:0
Africa/Conakry                  :Greenwich Zeit                                        GMT+0:0
Africa/Dakar                    :Greenwich Zeit                                        GMT+0:0
Africa/El_Aaiun                 :Westeuropäische Zeit                                  GMT+0:0
Africa/Freetown                 :Greenwich Normalzeit                                  GMT+0:0
Africa/Lome                     :Greenwich Zeit                                        GMT+0:0
Africa/Monrovia                 :Greenwich Zeit                                        GMT+0:0
Africa/Nouakchott               :Greenwich Zeit                                        GMT+0:0
Africa/Ouagadougou              :Greenwich Zeit                                        GMT+0:0
Africa/Sao_Tome                 :Greenwich Zeit                                        GMT+0:0
Africa/Timbuktu                 :Greenwich Zeit                                        GMT+0:0
America/Danmarkshavn            :Greenwich Zeit                                        GMT+0:0
Atlantic/Canary                 :Westeuropäische Sommerzeit                            GMT+0:0
Atlantic/Faeroe                 :Westeuropäische Sommerzeit                            GMT+0:0
Atlantic/Faroe                  :Westeuropäische Sommerzeit                            GMT+0:0
Atlantic/Madeira                :Westeuropäische Sommerzeit                            GMT+0:0
Atlantic/Reykjavik              :Greenwich Zeit                                        GMT+0:0
Atlantic/St_Helena              :Greenwich Zeit                                        GMT+0:0
Eire                            :Irische Sommerzeit                                    GMT+0:0
Etc/GMT                         :GMT+00:00                                             GMT+0:0
Etc/GMT+0                       :GMT+00:00                                             GMT+0:0
Etc/GMT-0                       :GMT+00:00                                             GMT+0:0
Etc/GMT0                        :GMT+00:00                                             GMT+0:0
Etc/Greenwich                   :Greenwich Zeit                                        GMT+0:0
Etc/UCT                         :Koordinierte Universalzeit                            GMT+0:0
Etc/UTC                         :Koordinierte Universalzeit                            GMT+0:0
Etc/Universal                   :Koordinierte Universalzeit                            GMT+0:0
Etc/Zulu                        :Koordinierte Universalzeit                            GMT+0:0
Europe/Belfast                  :Britische Sommerzeit                                  GMT+0:0
Europe/Dublin                   :Irische Sommerzeit                                    GMT+0:0
Europe/Guernsey                 :Britische Sommerzeit                                  GMT+0:0
Europe/Isle_of_Man              :Britische Sommerzeit                                  GMT+0:0
Europe/Jersey                   :Britische Sommerzeit                                  GMT+0:0
Europe/Lisbon                   :Westeuropäische Sommerzeit                            GMT+0:0
Europe/London                   :Britische Sommerzeit                                  GMT+0:0
GB                              :Britische Sommerzeit                                  GMT+0:0
GB-Eire                         :Britische Sommerzeit                                  GMT+0:0
GMT                             :Greenwich Zeit                                        GMT+0:0
GMT0                            :GMT+00:00                                             GMT+0:0
Greenwich                       :Greenwich Zeit                                        GMT+0:0
Iceland                         :Greenwich Zeit                                        GMT+0:0
Portugal                        :Westeuropäische Sommerzeit                            GMT+0:0
UCT                             :Koordinierte Universalzeit                            GMT+0:0
UTC                             :Koordinierte Universalzeit                            GMT+0:0
Universal                       :Koordinierte Universalzeit                            GMT+0:0
WET                             :Westeuropäische Sommerzeit                            GMT+0:0
Zulu                            :Koordinierte Universalzeit   

                     GMT+0:0

1 个答案:

答案 0 :(得分:2)

JAVA根据LOCALE

选择时区

两台机器中的Locale会有所不同,因此存在差异。

可能的解决方案是创建Locale对象并将其传递给您的方法,例如 - TimeZone.getDefault().getDisplayName(localeObject);

可以按如下方式创建Locale对象 -

Locale(String language)
Locale(String language, String country)
Locale(String language, String country, String variant)