System.currentTimeMillis()每128秒更新一次?

时间:2015-03-09 01:40:19

标签: java android

我有一个循环,我通过执行t-(long)(System.currentTimeMillis()/1000.0f)检查秒数,其中t在循环之前设置为t=(long)(System.currentTimeMillis()/1000.0f)。我发现(long)(System.currentTimeMillis()/1000.0f)在前128秒内等于t。然后在另一个128秒后更新。我在后台线程上这样做。我做错了什么?

2 个答案:

答案 0 :(得分:3)

System.currentTimeMillis()是一个足够大的值,float不能代表该范围内的所有整数。

修复是简单地使用整数除以1000。

答案 1 :(得分:2)

您可以使用它将millis转换为第二

long timeMillis = System.currentTimeMillis();
long timeSeconds = TimeUnit.MILLISECONDS.toSeconds(timeMillis);