java中2个日期对象之间的差异,以分钟为单位

时间:2015-02-19 11:27:15

标签: java time

我想在几分钟内得到java中两个日期对象的区别,以找出用户在我的应用程序中登录的时间。

    String query = "Select * from cabin_info where ip_address = ?";
        ps = con.prepareStatement(query);
        ps.setString(1, IPAddress);
        rs = ps.executeQuery();
        if (rs.next()) {
            cabin_id = rs.getInt("cabin_id");
            start_time = rs.getString("start_time");
            username = rs.getString("username");
        }
        Date st_time = AppConstants.time_format.parse(start_time);

        Date date = AppConstants.time_format.parse(AppConstants.time_format.format(new Date()));
        long diff = date.getTime() - st_time.getTime();
        long diffMinutes = diff / (60 * 1000) % 60;
        System.out.println("Total time = " + diffMinutes);

日期色谱是HH-mm-ss

但我只得到时间分钟与时间之间的差异

3 个答案:

答案 0 :(得分:1)

long minutes = TimeUnit.MINUTES.convert(date.getTime() - st_time.getTime(),TimeUnit.MILLISECONDS)

答案 1 :(得分:0)

由于您要查找以分钟为单位的时间间隔,因此您只需将毫秒转换为分钟。

minutes = milliseconds/(60*1000)

因此,您的代码:

 long diffMinutes = diff / (60 * 1000) % 60;

变为:

 long diffMinutes = diff / (60 * 1000);

如果你想计算小时和分钟,那么最后添加一个模60会很有意义。

答案 2 :(得分:0)

long result = ((date.getTime()/60000) - (st_time.getTime()/60000));
System.out.println("Total time = " + result);

将毫秒转换为分钟并将其减去