这里我有代码部分,它计算两次(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;
答案 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)
我假设您已将时间实现为1234
为12: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;