long time=25*86400000;long day100 = (new Date()).getTime() + time;time这个数字太大了,怎么处理啊

解决方案 »

  1.   

    java中long型数够大的,完全可以处理阿
      

  2.   

    import   java.util.Date;  
       
      public   class  SnopTime  
      {    
              public   static   void   main(String[]   args)  
              {       
               long mingtian = (new Date()).getTime() + 13*86400000;
    //这个13换成100就错了
               long jintian= (new Date()).getTime() ;
               
               String today = new java.text.SimpleDateFormat("yyyy-MM-dd"). format(new Date(jintian)); 
               String tomorrow = new java.text.SimpleDateFormat("yyyy-MM-dd"). format(new Date(mingtian)); 
               System.out.println(today);
               System.out.println(tomorrow);
              }
      }
      

  3.   

    long time=25l*86400000;就可以了
      

  4.   

    实在不行用java.math.BigDecimal
      

  5.   

    to ChDw(米) ( )
    long time=25l*86400000;这样也不行啊
    import   java.util.Date;  
       
      public   class  SnopTime  
      {    
              public   static   void   main(String[]   args)  
              { long time=25*86400000;
             long day100 = (new Date()).getTime() + time;//每天是86400000毫秒
             long jintian= (new Date()).getTime() ;
               
               String today = new java.text.SimpleDateFormat("yyyy-MM-dd"). format(new Date(jintian)); 
               String after100days = new java.text.SimpleDateFormat("yyyy-MM-dd"). format(new Date(day100)); 
               System.out.println("今天是"+today);
               System.out.println("100天后是"+after100days);
              }
      }
      

  6.   

    to eric_xin(ericxin) 
    如果用java.math.BigDecimal
    那么new Date(jintian)里面只能用long 做参数
      

  7.   

    BigDecimal.longValue() 返回long
      

  8.   

    你的数学怎么算的啊
    long ONEDAY = 24l * 3600 * 1000; 
    long day100 = (new Date()).getTime() + ONEDAY * 100;//每天是86400000毫秒
    long jintian = (new Date()).getTime();String today = new java.text.SimpleDateFormat("yyyy-MM-dd").format(new Date(jintian));
    String after100days = new java.text.SimpleDateFormat("yyyy-MM-dd").format(new Date(day100));
    System.out.println("今天是" + today);
    System.out.println("100天后是" + after100days);
      

  9.   

    说来说去其实你还是没有看清楚我的回答:
    long ONEDAY = 24 * 3600 * 1000 * 100;

    long ONEDAY = 24l * 3600 * 1000 * 100;结果是不相同的!
      

  10.   

    long ONEDAY = 24 * 3600 * 1000 * 100;

    long ONEDAY = 24l * 3600 * 1000 * 100;结果是不相同的!为什么拆开就好了呢??????
    谢谢
      

  11.   

    是因为Java的int只有四位long ONEDAY = 24 * 3600 * 1000 * 100; 可以看成是
    int tmp = 24 * 3600 * 1000 * 100;
    long ONEDAY = tmp;24 * 3600 * 1000 * 100 已经溢出了,导致结果错误而如果你分开了,则在运算中已经变成long运算,这个还不溢出