我需要以编程方式确定世界各地的时区显示字符串(即加州的PST / PDT)。我的问题在于德国; 无论我如何转动,我都无法用德语(MESZ)显示显示名称。
以下是我试过的一些事情:
TimeZone tz = TimeZone.getTimeZone("MET");
Calendar calendar = Calendar.getInstance(tz);
Date date = new Date();
date.setTime(calendar.getTimeInMillis());
String displayName = tz.getDisplayName(tz.inDaylightTime(date), TimeZone.SHORT, Locale.GERMANY);
为此,我将displayName作为MEST(我需要的MESZ的英文版)。
如果我使用“欧洲/柏林”代替“MET”,我会得到CEST,甚至更糟...... 我也试过在getDisplayName方法中使用locale参数,不传递它,传递德国,并传递GERMAN,但结果不会改变。
我做错了什么?
谢谢, Yotam。
答案 0 :(得分:0)
我对Sun的jre库文件进行了一些研究,发现对于你提到的语言环境,库只知道“ZentraleuropäischeZeit”的“MET”和“ZentraleuropäischeSommerzeit”的“MEST”。代码中没有列出其他名称。所以,要么是一个错误(错字),要么就是因为一些不明原因而完成的。