用秒计算时差

时间:2013-09-04 08:23:17

标签: java time

这里我有代码部分,它计算两次(time1,time2)之间的差异。 如何添加秒数并将60秒转换为1分钟?

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

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

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

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

我假设您已将时间实现为123412: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;