0

在我的机器上,如果日期格式是除 2013-12-21 之外的任何东西,则只有所有 Junit 测试用例都失败。例如,如果日期是2007-03-30+01:00那么它会给我这个,预期的:<2007-03-[30 00]:00:00.0> 但是是:<2007-03-[29 23]: 00:00.0>

但是在不同的机器上它运行良好,任何人都可以帮助我,我的操作系统是 Linux。

输入日期:2007-03-30+01:00

生效日期:2007-03-30 00:00:00.0

消息:预期:<2007-03-[30 00]:00:00.0> 但是是:<2007-03-[29 23]:00:00.0>

4

2 回答 2

0

您已经注意到共享了您的代码,但似乎问题在于您可能java.util.Calendar在您的代码中使用,这是一个依赖于时区的 api,并且可能在不同时区运行的不同机器上生成不同的结果。如果您可以选择更改,那么您应该考虑使用java.util.Date,因为它与时区无关

于 2013-08-15T06:34:46.007 回答
0

听起来您正在比较toString()语言环境中的 , 哪些因素。

尝试比较原始日期:

assertEquals(expectedDate, myDate);

或者可能是纪元时间:

assertEquals(expectedDate.getTime(), myDate.getTime());
于 2013-08-15T07:07:48.567 回答