我在使用俄語語言環境時遇到問題,時區部分日期未轉換爲俄語。 即如果「2010年8月10日4時02分09秒雅庫茨克時間」是時間, 它將轉換爲 - 與俄語語言環境 - 「10.08.2010 16:02:09雅庫茨克時間10」 與法語語言環境 - 「AOUT 2010 16時02分09秒HEURE杜Iakoutsk」在使用俄語語言環境的java中顯示TimeZone問題
我使用下面的代碼(俄羅斯語言環境支持我的服務器上)
SimpleDateFormat formatterWithoutTimezone = new SimpleDateFormat(
"dd-MMM-yyyy HH:mm:ss");
SimpleDateFormat formatterServerTimezone = new SimpleDateFormat(
"dd-MMM-yyyy HH:mm:ss zzz");
TimeZone serverTimezone = TimeZone.getDefault();
formatterServerTimezone.setTimeZone(serverTimezone);
String dateSrcStr = formatterWithoutTimezone.format(dateSrc) + " UTC";
Date dateServerTimezone = formatterServerTimezone.parse(dateSrcStr);
DateFormat displayFormatter = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM, locale);
String formatedDate = displayFormatter.format(dateServerTimezone) + " "
+ serverTimezone.getDisplayName(locale);
我正在使用JDK 1.6,此問題僅適用於所有時區的俄語區域設置。 法語,德語等時區字符串轉換爲相應的語言。 – dadua 2010-08-10 07:21:14