2
TimeZone tz = TimeZone.getTimeZone(TimeZoneString);
timeZoneOffsetms = tz.getRawOffset();

TimeZoneString 的值采用“GMT+02:00:00”格式

之前的代码从 2.2 到 4.1 都没有问题。

现在使用 4.2,无论时区在 UTC 之前还是之后,它总是返回一个等于 0 的偏移量。

任何想法或任何其他人都看到了这一点。

4

1 回答 1

2

检查源代码后TimeZone,4.2 发生了重大变化。班级开始强制执行只需要几小时和几分钟的正则表达式。提供秒数会导致正则表达式模式匹配器失败,然后返回 null。

我这边的解决方案是检查我的服务器的值几秒钟,如果指定了就删除。由于我没有任何控制从服务器返回的值是。

如果其他人遇到这个问题,我希望这会有所帮助。

于 2012-12-03T20:09:10.117 回答