首页 > 解决方案 > 在Java中计算两次之间的差异

问题描述

我有个疑问。我需要在 Java 中创建一个程序,例如我输入 2 次 =14 25 127 50 25,然后减去6:34:47. 在不使用 Java 中的任何 API 类的情况下如何做到这一点?我只能使用 Scanner 和ifstatements。我尝试了类似下面的方法,但显然它不起作用,因为例如它的秒数12-25 = -13,它应该是 47。

int seconds = seconds2 - seconds1;
int minutes = minutes2 - minutes1;
int hours = hours2 - hours1;

这行不通。

标签: javatimeoperation

解决方案


你听说过结转吗?

如果 diff 值 <0,则加 60 并从下一个更高的值中减去 1。

7 50 2514 25 12
hour = 14 - 7 = 7
minute = 25 - 50 = -25
second = 12 - 25 = -13

所以加上 60 秒,减去 1 分钟:
second = -13 + 60 = 47
minute = -25 - 1 = -26

所以加 60 分钟,减去 1 小时:
minute = -26 + 60 = 34
hour = 7 - 1 = 6

结果:
hour = 6
minute = 34
second = 47

6 34 47


推荐阅读