Java 问题转换为秒
有人能帮我解释一下为什么我的秒数打印不正确吗?小时和分钟都是正确的,但它不会为secs变量打印任何内容。我的arraylist中的项位于System.currentTimeMillis()中,这就是我必须转换它们的原因Java 问题转换为秒,java,logic,Java,Logic,有人能帮我解释一下为什么我的秒数打印不正确吗?小时和分钟都是正确的,但它不会为secs变量打印任何内容。我的arraylist中的项位于System.currentTimeMillis()中,这就是我必须转换它们的原因 //divides 'logoutTimeTotal' by 'loginTimeTotal' to get 'totalTimeLoggedIn' long totalTimeLoggedIn = (((totalTimeArray.get(1) - totalTimeArra
//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";
谢谢可能是四舍五入造成的
使用
float
比使用long
更好。您的问题是,当您获得totalTimeLoggedIn
时,您会:
long totalTimeLoggedIn = (((totalTimeArray.get(1) - totalTimeArray.get(0)) / 1000) / 60);
如果要以秒为单位获取使用System.currentTimeMillis()
生成的总时间,则必须在1000
上进行除法,因为1秒是1000毫秒
,因此需要执行以下操作:
long totalTimeLoggedIn = (((totalTimeArray.get(1) - totalTimeArray.get(0)) / 1000));
我能再问你一个建议吗?@javaGeek是的,当然可以,请你先走一步?@javaGeek然后祝贺你。