计算 Java 中两次之间的差异
Calculate difference between two times in Java
我有疑问。我需要在 Java 中创建一个程序,例如我输入 2 次 = 14 25 12
和 7 50 25
,然后它减去 6:34:47
。如果不使用 Java 中的任何 API class,我该怎么做?我只能使用 Scanner 和 if
语句。我尝试了类似下面的方法,但显然它不起作用,因为例如它确实 12-25 = -13
的秒数,它应该是 47.
int seconds = seconds2 - seconds1;
int minutes = minutes2 - minutes1;
int hours = hours2 - hours1;
这行不通。
你听说过结转吗?
如果 diff 值小于 0,则加 60 并从下一个更高的值中减去 1。
从 7 50 25 到 14 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
我有疑问。我需要在 Java 中创建一个程序,例如我输入 2 次 = 14 25 12
和 7 50 25
,然后它减去 6:34:47
。如果不使用 Java 中的任何 API class,我该怎么做?我只能使用 Scanner 和 if
语句。我尝试了类似下面的方法,但显然它不起作用,因为例如它确实 12-25 = -13
的秒数,它应该是 47.
int seconds = seconds2 - seconds1;
int minutes = minutes2 - minutes1;
int hours = hours2 - hours1;
这行不通。
你听说过结转吗?
如果 diff 值小于 0,则加 60 并从下一个更高的值中减去 1。
从 7 50 25 到 14 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