除非我做错了什么...TimeZone偏移量显示无效值
我住在波兰(GMT + 2)。在我写这篇文章的时候,我们处于夏令时。下面的代码,但是,说,GMT时间偏移只有1个小时,而不是2。
Calendar mCalendar = new GregorianCalendar();
TimeZone mTimeZone = mCalendar.getTimeZone();
System.out.println(mTimeZone);
int mGMTOffset = mTimeZone.getRawOffset();
System.out.printf("GMT offset is %s hours", TimeUnit.HOURS.convert(mGMTOffset, TimeUnit.MILLISECONDS));
打印GMT偏移1小时
同样的情况,对于其他时区,例如纽约,这是格林尼治标准时间4:
Calendar mCalendar = new GregorianCalendar(TimeZone.getTimeZone("America/New_York"));
打印GMT偏移量为-5个小时
检查这里http://stackoverflow.com/questions/10545960/how-to-tackle-daylight-savings-using-timezone-in- java的 – Karthik