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



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

代码:

TimeZone.getDefault().getDisplayName();

我有两台以 UTC 格式运行的机器:在一台机器上,我得到"格林威治时代",在另一台机器上,我得到"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

JAVA根据LOCALE选取时区。

两台机器中的Locale会有所不同,因此也不同。

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

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

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

相关内容

  • 没有找到相关文章