0

日历用相同的数据给出不同的值。那是,

calT.setTimeZone(_.calc.ap.getTZ());
calT.setTimeInMillis(_.calc.ap.getCalMainTime());

calT.setTimeZone(timezonebase);
calT.setTimeInMillis(curData.getTimeBase());

在代码的不同部分给出不同的值。

_.calc.ap.getTZ()和 timezonebase 相同并且它们等于"Europe/Moscow" Time in millis for_.calc.ap.getCalMainTime()并且curData.getTimeBase()相同并且等于568026000000L( 1 Jan 1988 12:00 GMT+03:00)

结果相差一小时:( 1 Jan 1988 12:00 GMT+03:00) 或 (1 Jan 1988 13:00 GMT+03:00

我认为俄罗斯处理的这个错误两年前删除了夏令时。但是如何修复这个错误呢?

4

1 回答 1

0

我找到了一个丑陋的解决方案。可能有人找到更好的。重新初始化日历。

calT = Calendar.getInstance();

calT.setTimeZone( .calc.ap.getTZ()); calT.setTimeInMillis( .calc.ap.getCalMainTime());

calT = Calendar.getInstance();

calT.setTimeZone(timezonebase); calT.setTimeInMillis(curData.getTimeBase());

于 2013-09-17T11:51:44.397 回答