2

Joda 不允许在指向 1916 年 7 月 3 日的欧洲/莫斯科时区创建 DateTime 实例:

DateTimeZone dateTimeZone = DateTimeZone.forTimeZone(TimeZone.getTimeZone("Europe/Moscow"));
Chronology internalCalendar = GJChronology.getInstance(dateTimeZone);
DateTime dt = new org.joda.time.DateTime(1916, 7, 3, 0, 0, 0, 0, internalCalendar);
// Exception thrown:
// java.lang.IllegalArgumentException: Illegal instant due to time zone offset transition: 1916-07-02T21:30:00.000

从 00:00:00 到 00:00:47 的确切时间段给出了例外。

AFAICS,俄罗斯当天没有特殊的时移事件。最接近的日期是 1917 年 7 月 1 日,夏令时首次引入。

这是 Joda 的错误还是我有什么问题?)

4

1 回答 1

1

在这里,您可以看到 1916 年 7 月 3 日星期一 0:00:00/0:00:48 时区发生了变化。从 0:00:00 到 0:00:47 的 48 秒被跳过。

于 2012-04-10T08:36:29.813 回答