0

我需要以编程方式确定世界各地站点的时区显示字符串(即加利福尼亚的 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 的英文版)。

如果我使用“Europe/Berlin”而不是“MET”,我会得到 CEST,甚至更糟......我也尝试在 getDisplayName 方法中使用语言环境参数,不传递它,传递 GERMANY,传递 GERMAN,但是结果不会改变。

我究竟做错了什么?

谢谢,尤塔姆。

4

1 回答 1

0

我对 Sun 的 jre 库文件进行了一些研究,发现对于您提到的语言环境,该库只知道“Zentraleuropäische Zeit”的“MET”和“Zentraleuropäische Sommerzeit”的“MEST”。代码中没有列出其他名称。因此,它要么是错误(错字),要么是出于某种不清楚的原因而完成的。

于 2012-09-26T23:44:30.813 回答