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 の英語版) として取得します。

「MET」の代わりに「Europe/Berlin」を使用すると、CEST が表示されます。さらに悪いことに、getDisplayName メソッドでロケール パラメータを試してみましたが、それを渡さず、GERMANY を渡し、GERMAN を渡しましたが、結果は変わりません。

私は何を間違っていますか?

ありがとう、ヨタム。

4

1 に答える 1

0

Sun の jre ライブラリ ファイルについて調査したところ、あなたが言及したロケールでは、ライブラリは "Zentraleuropäische Zeit" の "MET" と "Zentraleuropäische Sommerzeit" の "MEST" しか認識していないことがわかりました。コードには他の名前はリストされていません。したがって、それはバグ (タイプミス) であるか、何らかの不明確な理由で行われています。

于 2012-09-26T23:44:30.813 に答える