乔达时间日期时区



我有一个单元测试,试图验证以色列/伦敦之间的某些行为,我检查的第一件事是Asia/Jerusalem的时区偏移量如下

val clientTimezone = DateTimeZone.forID("Asia/Jerusalem")
val now = new DateTime(DateTimeZone.forID("Etc/GMT"))
val clientOffset = clientTimezone.getOffset(now) / (1000 * 60)

现在伦敦是下午 5 点,以色列晚上 7 点,格林威治标准时间下午 4 点,但是当我运行此代码时,我now初始化为 16:00,并且 clientOffset = 120 而不是 180。 如果我Asia/Jerusalem换成Europe/London,我会得到clientOffset = 60。

我是否正确使用了 Joda,还是它的时间错误? 在本周末之前,这些测试很好。 这是版本joda-time 2.1

以色列的时区规则已更改。 您需要使用 IANA 时区数据库的 2013d 版本。 这包含在JodaTime 2.3中。

如果您无法更新 JodaTime,您可以按照这些说明单独更新 TZDB 数据。

相关内容

  • 没有找到相关文章

最新更新