1916年7月3日在欧洲/莫斯科时区的Joda DateTime奇怪的结果

时间:2012-04-06 06:50:17

标签: java datetime jodatime

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中的错误还是我的错误? )

1 个答案:

答案 0 :(得分:1)

Here你可以读到星期一有一个时区变化,3 rd 1916年7月0:00:00/0:00:48。从0:00:00到0:00:47的48秒被跳过。