1

在这里,我得到了计算两次(time1,time2)之间差异的代码部分。如何添加秒并将 60 秒转换为一分钟?

我认为有一种更简单的方法来处理它,但是我正在为初学者学习书籍,所以我想以与此处计算小时和分钟相同的方式得到答案。

  hours=time2/100-time1/100;
  mins=time2%100-time1%100;

  hours=mins>0?hours:hours-1;
  mins=mins>0?mins:mins+60;
4

2 回答 2

0
 SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
        long startTime = sdf.parse("10:00:00").getTime();
        long endTIme = sdf.parse("11:00:00").getTime();
        long duration = endTIme - startTime;

        int seconds = (int) (duration / 1000) % 60;
        int minutes = (int) ((duration / (1000 * 60)) % 60);
        int hours = (int) ((duration / (1000 * 60 * 60)) % 24);
于 2013-09-04T08:36:05.230 回答
0

我假设您已经将时间实现为一个数字,如1234is12:34 在这种情况下,每次解析和比较都更容易。

int mins1 = time1 / 100 * 60 + time1 % 100;
int mins2 = time2 / 100 * 60 + time2 % 100;
int diff = mins2 - mins1;

我想做的是输入数字 123456 等于 12:34:56

要处理秒数,您可以这样做。

int secs1 = time1 / 10000 * 60 * 60 + time1 /100 % 100 * 60 + time1 % 100;
int secs2 = time2 / 10000 * 60 * 60 + time2 /100 % 100 * 60 + time2 % 100;
int diffInSec = secs1 - secs2;
于 2013-09-04T08:37:45.790 回答