long rt = System.currentTimeMillis()-(1000*60*60*24*30);
Run Code Online (Sandbox Code Playgroud)
当我将上述变量rt转换为日期时,我无法在30天之前获得预期日期(即).为什么?
1000*60*60*24*30导致int溢出,因为它大于Integer.MAX_VALUE.将其更改1000L*60*60*24*30为使用long.
例如:
long rt = System.currentTimeMillis()-(1000L*60*60*24*30);
System.out.println (new Date(rt));
Run Code Online (Sandbox Code Playgroud)
打印给我:
Sun Feb 25 09:18:58 IST 2018
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
341 次 |
| 最近记录: |