Java 给出不同结果的持续时间 Excel

Java Duration giving different result to Excel

有一种方法可以计算 2 个 LocalDateTime 之间的差异。我已经在 Excel 中计算出一些测试数据,但是 Java 方法与我的 Excel 公式不符。我猜 ym Excel 公式是错误的,但谁能告诉我为什么?

    private Duration difference(LocalDateTime request, LocalDateTime response) {
    Duration duration = Duration.between(request, response);
    System.out.println("difference: " + duration.toMillis());
    return duration;
}

我的输入数据:
请求:2018-02-12T13:43:46.456 响应:2018-02-12T14:43:54.123

Excel 公式结果:3608333 毫秒 Java 方法:3607667 毫秒

我的excel公式是公认的答案here

Malte Hartwig 是对的。

"Looking at the last three digits, it looks like the excel formula confuses request and response. xxx123 -xxx456 should be xxx667, not xxx333"

运算符 (OP) 是 'confused',Excel 不是。采用与参考的已接受答案相同的方法:

第1行和第6行显示的公式与第3、4、5、7行复制后的公式相同。

从示例的时间元素来看,不那么麻烦(但 3607667 的结果相同):

=(TIMEVALUE(A5)-TIMEVALUE(A4))*86400000

或者如果要应用于与上面相同的单元格中的整个 DateTTime 字符串:

=(TIMEVALUE(RIGHT(A5,12))-TIMEVALUE(RIGHT(A4,12)))*86400000

Excel 在所有这些情况下的结果:

3607667