4
什么是将DateFormat时区设置为GMT + 1的正确字符串? 根据文档它应该是像“GMT + 00:00”。 我已经尝试了其他形式,但显然我总是回退到GMT(我目前的时区)。Java设置DateFormat时区为GMT + 1
在此先感谢!
什么是将DateFormat时区设置为GMT + 1的正确字符串? 根据文档它应该是像“GMT + 00:00”。 我已经尝试了其他形式,但显然我总是回退到GMT(我目前的时区)。Java设置DateFormat时区为GMT + 1
在此先感谢!
您可以通过代码下面的代码片段找到一整套时区:
for (String id : TimeZone.getAvailableIDs()) {
System.out.println(id);
}
和再利用它直接设置时区:
DateFormat df = DateFormat.getDateInstance();
df.setTimeZone(TimeZone.getTimeZone(id));
您可以使用
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” - 很混乱)
的SimpleTimeZone构造函数只接受一个int,不长,所以我说新的SimpleTimeZone((INT)TimeUnit.HOURS.toMillis(1) “GMT + 1”);会更正确。 ... 感谢您对Etc/GMT-1实际上是GMT + 1的解释。那些奇怪的东西让我怀疑自己是否正在自己做错了几天! :) – 2017-06-02 13:37:03