【问题标题】:JodaTime - Test about dates fails randomly [duplicate]JodaTime - 关于日期的测试随机失败[重复]
【发布时间】:2018-10-21 17:31:27
【问题描述】:

我有这个代码:

public static int getDaysBetween(Date dateA, Date dateB) {
    return Days.daysBetween(
        new DateTime(dateA), 
        new DateTime(dateB))
    .getDays();
}

还有这个测试用例:

@Test
public void test() {
    Date dateFrom = buildDate(10, Calendar.JANUARY, 2018);
    Date dateTo = buildDate(1, Calendar.JANUARY, 2018);
    assertEquals(DateUtils.getDaysBetween(dateFrom, dateTo), -9);
}

测试大部分时间通过,但随机失败。有时,getDaysBetween 返回 -8 而不是 -9

怎么了?是 JodaTime 的错误吗?

【问题讨论】:

    标签: jodatime


    【解决方案1】:

    从技术上讲,这不是一个错误,只是一个烦恼。原来你2天的差没有达到一天,它返回0。如果你有1.99999天,它返回1。

    有一个非常类似问题的帖子可以帮助你here

    【讨论】:

      猜你喜欢
      • 2020-03-13
      • 2016-01-31
      • 2021-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-15
      • 1970-01-01
      相关资源
      最近更新 更多