public String timeDifference(String startTime, String leavedTime) {
SimpleDateFormat format = new SimpleDateFormat("HH:mm");
Date date1;
String dd =null;
try {
date1 = format.parse(startTime);
Date date2 = format.parse(leavedTime);
long difference = date2.getTime() - date1.getTime();
long diffMinutes = difference / (60 * 1000) % 60;
long diffHours = difference / (60 * 60 * 1000) % 24;
dd=diffHours + " : " + diffMinutes ;
} catch (ParseException ex) {
System.out.println(ex);
}
return dd;
}
我想知道
1)long diffMinutes = difference / (60 * 1000) % 60;
2) long diffHours = difference / (60 * 60 * 1000) % 24
在代码1中使用%60的目的是什么在代码2中使用%24的目的是什么
谁能给我一个清晰的解释?
该%
操作员是模数操作。在此代码中,diffMinutes
将是时差小时内的分钟数,并且diffHours
将是时差小时中的小时数。
除以(60 * 1000)
将毫秒之间的原始差异转换为分钟单位(除以1000得到秒,然后除以60得到分钟)。
例如,如果时差是2天3小时52分钟,diffMinutes
则分别为52和diffHours
3。
如果没有模数,结果将从“小时内的分钟数”更改为“经过的分钟总数”。例如,经过133分钟(无模量)变为具有模量的“一小时内13分钟”。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句