问题转换为秒

时间:2014-04-15 20:29:51

标签: java logic

有人可以帮我解释为什么我的秒数没有正确打印出来吗?小时和分钟都是正确的,但它没有为 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";

由于

2 个答案:

答案 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));