【问题标题】:Calendar and timezones. Error日历和时区。错误
【发布时间】:2013-09-21 18:31:45
【问题描述】:

日历用相同的数据给出不同的值。 也就是说,

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

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

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

_.calc.ap.getTZ() 和 timezonebase 相同,它们等于"Europe/Moscow" _.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

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

【问题讨论】:

    标签: java android calendar timezone timezone-offset


    【解决方案1】:

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

    calT = Calendar.getInstance();

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

    calT = Calendar.getInstance();

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

    【讨论】:

      猜你喜欢
      • 2014-12-27
      • 2019-01-18
      • 1970-01-01
      • 2012-12-13
      • 2020-09-15
      • 1970-01-01
      • 2011-08-09
      • 1970-01-01
      • 2022-01-19
      相关资源
      最近更新 更多