Java 使用JODA初始化时间时的奇怪行为';Android上的s DateTime()构造函数

Java 使用JODA初始化时间时的奇怪行为';Android上的s DateTime()构造函数,java,android,date,datetime,jodatime,Java,Android,Date,Datetime,Jodatime,我面临着乔达时间建构师的奇怪行为 所以我执行以下几行 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-0

我面临着乔达时间建构师的奇怪行为

所以我执行以下几行

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(欧洲/柏林)


我错过了什么?

我无法在
欧洲/柏林
时区重现这一点,但这是我在
欧洲/伦敦
整整三年得到的结果


而iirc的原因是,在70年代初,英国处于一个我们整个冬天都保持+1的时期。因此,欧洲/伦敦所表达的大纪元时间实际上是
1970-01-01T01:00:00+01:00

无法重现这种行为..我也是。对于我的时区,它打印的是相同的…1972-01-01T05:00:00.000-05:00 1970-01-01T05:00:00.000-05:00好的,伙计们,谢谢尝试。忘了说,它发生在Android上,你试过纯java吗?