关于将毫秒转换为分钟的java说明
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的目的是什么
谁能给我一个清楚的解释
# 1 楼答案
%
运算符是模运算。在此代码中,diffMinutes
将是时差小时内的分钟数,diffHours
将是时差小时数除以
(60 * 1000)
将原始差异(以毫秒为单位)转换为分钟单位(除以1000表示秒,然后除以60表示分钟)例如,如果时差为2天3小时52分钟,
diffMinutes
将为52,diffHours
将为3如果没有模数,结果将从“小时内的分钟数”更改为“经过的总分钟数”。例如,经过133分钟(不含模数)后,使用模数变为“一小时内13分钟”