java - 将当前日期转换为整数

标签 java date

我想将当前日期转换为整数值。默认情况下,它返回 long。当我尝试将 long 转换为整数,然后将整数值转换为日期时,意味着它显示 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 : 1292838124
Long : 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 日以来的毫秒数。

最大整数值为 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

关于java - 将当前日期转换为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12067697/

相关文章:

JavaScript 将数字转换为日期以与当前日期进行比较

date - Dijit DateTextBox 设置小于 100 的年份中的日期

php - 使用日期之间的MySQL问题

Java:为什么我的对象数组会覆盖循环内所有先前的数据?

mysql - BETWEEN 的结果为空

java - 这个映射/字符串数组中发生了什么?

java - 用星号替换元音

Java 1.5 Calendar#compareTo() 混淆

java - Firebase 数据库查询结合 orderByChild 和 startAt 不返回任何内容

java - 从 imageview Android 中删除图像