欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

通过时间戳算多少天后,返回日期不对

程序员文章站 2022-05-05 15:06:13
...
  public static void main (String[] args){
        SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
        Date d=new Date();
        System.out.println(d.getTime() + 27 * 24 * 60 * 60 * 1000);
        System.out.println("27天后的日期:" + df.format(new Date(d.getTime() + 27 * 24 * 60 * 60 * 1000)));
        System.out.println(d.getTime() + 20 * 24 * 60 * 60 * 1000);
        System.out.println("20天后的日期:" + df.format(new Date(d.getTime() + 20 * 24 * 60 * 60 * 1000)));
        
        System.out.println(d.getTime() + 27 * 24 * 60 * 60 * 1000L);
        System.out.println("27天后的日期:" + df.format(new Date(d.getTime() + 27 * 24 * 60 * 60 * 1000L)));

    }
1560174591050
27天后的日期:2019-06-10
1563864758346
20天后的日期:2019-07-23
1564469558346
27天后的日期:2019-07-30

可以看到算27天的时间戳,第一行输出和倒数第二行输出不一样。这是因为直接27 * 24 * 60 * 60 * 1000得出的数据默认为整型,丢失数据,应该用27 * 24 * 60 * 60 * 1000L算时间戳

注:帮老婆解决问题的男人最帅(#^.^#)

相关标签: 时间戳