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
有一种方法可以计算 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 在所有这些情况下的结果: