我遇到了JODA的时间构造函数的奇怪行为。
所以我执行以下行
DateTime d1 = new DateTime("1972-01-01T10:00:00.000+00:00");
DateTime d2 = new DateTime("1970-01-01T10:00:00.000+00:00");
String s1 = d1.toString();
String s2 = d2.toString();
并看到
s1 = 1972-01-01T10:00:00.000Z
s2 = 1970-01-01T11:00:00.000+01:00
好的,我知道DateTime的默认时区,但是为什么不同的调用会返回具有不同时区的时间对象?
如果您尝试更改1972年的第一年 - > 1971年,您会看到另一张图片
s1 = 1971-01-01T11:00:00.000+01:00
s2 = 1970-01-01T11:00:00.000+01:00
我当前的时区是+1(欧洲/柏林)。
我错过了什么?
答案 0 :(得分:0)
我无法为Europe/Berlin
时区重现这一点,但这是我用Europe/London
获得的结果,这三年。
而iirc的原因是,在70年代初期,英国处于整个冬季都保持+1的时期。因此,在欧洲/伦敦表达的纪元时间实际上是1970-01-01T01:00:00+01:00
。