在这里,我得到了计算两次(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;
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);
我假设您已经将时间实现为一个数字,如1234
is12: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;