4

DateFormatタイムゾーンをGMT+1に設定するための正しい文字列は何ですか?ドキュメントによると、「GMT+00:00」のようになります。私はすでに他のフォームを試しましたが、どうやら私は常にGMT(現在のタイムゾーン)にフォールバックしています。

前もって感謝します!

4

2 に答える 2

8

使用できます

TimeZone fixedUtcPlus1 = new SimpleTimeZone(TimeUnit.HOURS.toMillis(1),
                                            "GMT+1");
format.setTimeZone(fixedUtcPlus1);

あるいは単に:

TimeZone zone = TimeZone.getTimeZone("GMT+1");
format.setTimeZone(zone);

(+1と-1の周りで繰り返された編集についてお詫びします...私の側の悪い診断。「GMT+ 1」は問題ありませんが、それに相当するものは「Etc / GMT-1」です-非常に混乱します。)

于 2013-02-18T16:00:40.827 に答える
5

次のコードの断片を介して、タイムゾーンのセット全体を見つけることができます。

for (String id : TimeZone.getAvailableIDs()) {
    System.out.println(id);
}

そして、それを再利用してタイムゾーンを直接設定します。

DateFormat df = DateFormat.getDateInstance();
df.setTimeZone(TimeZone.getTimeZone(id));
于 2013-02-18T16:02:12.823 に答える