bvu*_*laj 4 java calendar date
我有两个对象,p4和p5,它们有一个Date属性.在某些时候,构造函数工作正常:
p4.setClickDate(new Date(System.currentTimeMillis() - 86400000 * 4));
Run Code Online (Sandbox Code Playgroud)
将日期设置为2011年7月31日星期日11:01:39 EDT
而在其他情况下它不会:
p5.setClickDate(new Date(System.currentTimeMillis() - 86400000 * 70));
Run Code Online (Sandbox Code Playgroud)
将日期设置为2011年7月15日星期五04:04:26
根据我的计算,这应该将日期设定为70天,不是吗?
我可以使用Calendar来解决这个问题,但我很好奇为什么Date会这样做.
谢谢!
Bal*_*usC 12
这是由整数溢出引起的.整数的最大值Integer.MAX_VALUE为2147483647.您需要long通过后缀来明确指定数字L.
p5.setClickDate(new Date(System.currentTimeMillis() - 86400000L * 70));
Run Code Online (Sandbox Code Playgroud)
你可以通过比较结果来自己看
System.out.println(86400000 * 70); // 1753032704
System.out.println(86400000L * 70); // 6048000000
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1070 次 |
| 最近记录: |