有人可以帮我解释为什么我的秒数没有正确打印出来吗?小时和分钟都是正确的,但它没有为 secs 变量打印任何内容。我的arraylist中的项目位于 System.currentTimeMillis()中,这就是我必须转换它们的原因。
//divides 'logoutTimeTotal' by 'loginTimeTotal' to get 'totalTimeLoggedIn'
long totalTimeLoggedIn = (((totalTimeArray.get(1) - totalTimeArray.get(0)) / 1000) / 60);
//creates 2 variables that convert time logged in to hours and minutes
long hr = totalTimeLoggedIn / 60;
long min = totalTimeLoggedIn - (hr * 60);
long secs = totalTimeLoggedIn;
//creates String variable with hours and minutes logged in
String timeLoggedStr = hr + " Hours " + min + " Minutes " + secs + " Seconds";
由于
答案 0 :(得分:0)
这可能是由于四舍五入造成的。
而不是long
,使用float
会更好。
答案 1 :(得分:0)
问题是当你得到totalTimeLoggedIn
时,你会这样做:
long totalTimeLoggedIn = (((totalTimeArray.get(1) - totalTimeArray.get(0)) / 1000) / 60);
如果您希望获得使用System.currentTimeMillis()
生成的总时间,那么您必须在1000
之后除1 second is 1000 milliseconds
,因此您需要执行以下操作:< / p>
long totalTimeLoggedIn = (((totalTimeArray.get(1) - totalTimeArray.get(0)) / 1000));