产生负面时代

时间:2018-02-24 23:49:47

标签: java android

我正在尝试生成EPOCH值。我使用以下内容:

 int currentEpoch = ((int) System.currentTimeMillis()) / 1000;
 Log.v("EPOCH", String.valueOf(currentEpoch));

以下是我的日志:

enter image description here

为什么我的Epoch值为负?

2 个答案:

答案 0 :(得分:1)

简而言之,System.currentTimeMillis()返回长的原因。 int不足以存储自1970年以来的毫秒数。因为它试图表示一个大于它可以容纳的值,所以该值会回绕并变为负值。

答案 1 :(得分:1)

System.currentTimeMillis()返回long值。当您将其强制转换为int时,该值会溢出并为您提供负数。 试试

long currentEpoch =  System.currentTimeMillis() / 1000;
Log.v("EPOCH", String.valueOf(currentEpoch));`