我想在几分钟内得到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
但我只得到时间分钟与时间之间的差异
答案 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);
将毫秒转换为分钟并将其减去