2012-09-26 45 views
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」我使用「歐洲/柏林」,我得到CEST,甚至更糟糕...... 我也嘗試在getDisplayName方法中使用locale參數,不傳遞它,傳遞德國,並通過德國,但結果不改變。

我在做什麼錯了?

謝謝, Yotam。

回答

0

我對Sun的jre庫文件做了一些研究,發現對於您提到的語言環境,庫只知道「ZentraleuropäischeZeit」的「MET」和「ZentraleuropäischeSommerzeit」的「MEST」。代碼中沒有列出其他名稱。所以,要麼是一個錯誤(錯字),要麼是因爲一些不明的原因。

+0

謝謝Serge!非常感激 –