比较具有不同精度级别的Date对象


问题内容

我有一个JUnit测试失败,因为毫秒不同。在这种情况下,我不在乎毫秒。如何更改断言的精度以忽略毫秒(或我希望将其设置为任何精度)?

我想通过的断言示例:

Date dateOne = new Date();
dateOne.setTime(61202516585000L);
Date dateTwo = new Date();
dateTwo.setTime(61202516585123L);
assertEquals(dateOne, dateTwo);

问题答案:

使用具有DateFormat仅显示您要匹配的部分的格式的对象,assertEquals()并对所得的字符串进行处理。您还可以轻松地将其包装在自己的assertDatesAlmostEqual()方法中。