问题是整数不足以存储当前日期,您需要使用Long。
日期自内部存储为自1970年1月1日以来的毫秒数。
最大整数值为2147483648,而自1970年以来的毫秒数目前为1345618537869
将最大整数值设置为日期,将于1970年1月26日星期一。
编辑:按照以下注释显示除以1000的代码:
int i = (int) (new Date().getTime()/1000);
System.out.println("Integer : " + i);
System.out.println("Long : "+ new Date().getTime());
System.out.println("Long date : " + new Date(new Date().getTime()));
System.out.println("Int Date : " + new Date(((long)i)*1000L));
Integer : 1345619256
Long : 1345619256308
Long date : Wed Aug 22 16:37:36 CST 2012
Int Date : Wed Aug 22 16:37:36 CST 2012