gpt4 book ai didi

java - 关于将毫秒转换为分钟的说明

转载 作者:行者123 更新时间:2023-12-01 11:10:03 24 4
gpt4 key购买 nike

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 分钟”。

关于java - 关于将毫秒转换为分钟的说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32483341/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com