【问题标题】:Calculate difference between two times in Java [closed]在Java中计算两次之间的差异[关闭]
【发布时间】:2019-03-18 04:02:39
【问题描述】:

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

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

这不起作用。

【问题讨论】:

  • 这是数学基础,不是 Java 代码
  • 我投票结束这个问题作为题外话,因为它处理数学计算和减法而不是代码问题
  • “不使用任何来自 JAVA 的 API 类我怎么能做到这一点” - 你不知道。日期/时间操作不是简单的数学运算,它与任何数量的复杂规则相关联

标签: java time operation


【解决方案1】:

你听说过结转吗?

如果 diff 值

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

【讨论】:

  • 谢谢这绝对是一道数学题,很抱歉打扰并感谢您的回答
猜你喜欢
  • 2012-12-16
  • 2013-09-25
  • 1970-01-01
  • 2018-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多