我们目前遇到的问题是,我们在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
答案 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)