Java JodaTime格式错误-不同机器中的不同格式

Java JodaTime格式错误-不同机器中的不同格式,java,datetime,java-8,jodatime,Java,Datetime,Java 8,Jodatime,我正在运行以下代码来生成DateTime DateTimeFormatter formatter = DateTimeFormat.forPattern(DATE_TIME_FORMAT); DateTime dt = formatter.parseDateTime("ddMMyyyy"); 我有一个测试,它接受一个字符串并将其转换为Joda DateTime,然后用期望值测试该值 我的测试在我的机器上通过,但在另一台机器上失败 我看到字符串13092019 ime elapsed: 0.18

我正在运行以下代码来生成DateTime

DateTimeFormatter formatter = DateTimeFormat.forPattern(DATE_TIME_FORMAT);
DateTime dt = formatter.parseDateTime("ddMMyyyy");
我有一个测试,它接受一个字符串并将其转换为Joda DateTime,然后用期望值测试该值

我的测试在我的机器上通过,但在另一台机器上失败

我看到字符串
13092019

ime elapsed: 0.189 sec  <<< FAILURE!
org.junit.ComparisonFailure: 
expected:<...ateTime>1970-01-01T0[0]:00:00</common:event...> 
but was:<...ateTime>1970-01-01T0[1]:00:00</common:event...>


已用时间:0.189秒您的预期结果和观察到的结果都没有任何UTC偏移量。所以我想你可能想要一个
LocalDateTime
而不是
DateTime
。如果是这样的话,这里有一种方法可以获得预期的结果,将
00
作为一天中的一小时(而不是JUnit观察到的
01

程序的输出为:

2019-09-13T00:00:00.000

[0]
[1]
只是JUnit强调这两个结果之间差异的方式。
[
..
]
之前和之后的所有内容在预期值和实际值中都是相同的。运行测试时,预期值和实际值中都没有任何
[
]
。JUnit添加了它们作为强调

我只是不明白为什么会有两个不同的日期 正在为
13092019

ime elapsed: 0.189 sec  <<< FAILURE!
org.junit.ComparisonFailure: 
expected:<...ateTime>1970-01-01T0[0]:00:00</common:event...> 
but was:<...ateTime>1970-01-01T0[1]:00:00</common:event...>


如果没有一个可复制的例子,我也不能。天蝎座590可能是正确的,这是一个时区问题。很可能你在其他日期也会得到不同的结果。JUnit运行中使用的日期似乎是1970-01-01(大纪元日)?

不同的时区?日期时间中的
[0]
[1]
是什么。另外,我还有一个测试做同样的事情,但那是通过了。正因为如此,我认为这与不同的时区无关。我无法复制。在更正了我认为您发布的代码中的错误后,我得到了
2019-09-13T00:00:00.000+02:00
。它既不符合您报告的预期值,也不符合您报告的实际值,请