将当前日期转换为整数
我想将当前日期转换为整数值。默认情况下,它返回long。当我尝试将long转换为整数,然后将整数值转换为date时,表示它显示了1970年的日期,
int i = (int) new Date().getTime(); 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(i));
输出如下:
Integer : 1292838124Long : 1345617601771
Long date : Wed Aug 22 12:10:01 IST 2012
Int Date : Fri Jan 16 04:37:18 IST 1970
有人可以帮帮我,如何将当前日期转换为整数(10位数字)?
回答:
问题是Integer的大小不足以存储当前日期,因此需要使用Long。
日期在内部存储为自1970年1月1日以来的毫秒数。
最大Integer值为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
以上是 将当前日期转换为整数 的全部内容, 来源链接: utcz.com/qa/431716.html