此问题与32位整数溢出有关。由于整数的最大值为
2147483647,所以30天(以毫秒为单位)对于一个整数来说太大了,并且会导致一个整数
-1702967296(例如,大约-19天(以毫秒为单位))。
为了解决此问题,我使用
long而不是
int。所以现在我做了:
System.currentTimeMillis() + 30L * 24 * 60* 60 * 1000;

此问题与32位整数溢出有关。由于整数的最大值为
2147483647,所以30天(以毫秒为单位)对于一个整数来说太大了,并且会导致一个整数
-1702967296(例如,大约-19天(以毫秒为单位))。
为了解决此问题,我使用
long而不是
int。所以现在我做了:
System.currentTimeMillis() + 30L * 24 * 60* 60 * 1000;