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;