Android 时间戳溢出
Android Timestamp overflow
public static final long ONE_MONTH_INTERVAL = 1000 * 60 * 60 * 24 * 30;
public static final long THREE_MONTHS_INTERVAL = 1000 * 60 * 60 * 24 * 90;
这两行给我这个警告:
Numeric overflow in expression
考虑到 long 最大可以达到 2,147,483,647,一个月以毫秒为单位已经达到 2,592,000,000
我想知道如何避免溢出(除了在几秒钟内转换)。
附带说明一下:
long currentDate = System.currentTimeMillis();
还在工作?我的意思是自纪元以来的毫秒数远远大于 3 个月,那么它是如何成功地存储到 long 中的呢?
尝试:
public static final long ONE_MONTH_INTERVAL = 1000L * 60L * 60L * 24L * 30L;
public static final long THREE_MONTHS_INTERVAL = 1000L * 60L * 60L * 24L* 90L;
public static final long ONE_MONTH_INTERVAL = 1000 * 60 * 60 * 24 * 30;
public static final long THREE_MONTHS_INTERVAL = 1000 * 60 * 60 * 24 * 90;
这两行给我这个警告:
Numeric overflow in expression
考虑到 long 最大可以达到 2,147,483,647,一个月以毫秒为单位已经达到 2,592,000,000
我想知道如何避免溢出(除了在几秒钟内转换)。
附带说明一下:
long currentDate = System.currentTimeMillis();
还在工作?我的意思是自纪元以来的毫秒数远远大于 3 个月,那么它是如何成功地存储到 long 中的呢?
尝试:
public static final long ONE_MONTH_INTERVAL = 1000L * 60L * 60L * 24L * 30L;
public static final long THREE_MONTHS_INTERVAL = 1000L * 60L * 60L * 24L* 90L;