有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

关于将毫秒转换为分钟的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) 个答案

  1. # 1 楼答案

    %运算符是模运算。在此代码中,diffMinutes将是时差小时内的分钟数,diffHours将是时差小时数

    除以(60 * 1000)将原始差异(以毫秒为单位)转换为分钟单位(除以1000表示秒,然后除以60表示分钟)

    例如,如果时差为2天3小时52分钟,diffMinutes将为52,diffHours将为3

    如果没有模数,结果将从“小时内的分钟数”更改为“经过的总分钟数”。例如,经过133分钟(不含模数)后,使用模数变为“一小时内13分钟”