先把字符串转化成Date类型。
然后将两个Date.getTime()相减得到两个时间之间毫秒差。
最后将Result/(1000*60*60*24)得到相差的天数。

解决方案 »

  1.   

    String s1 = "20020202";
    String s2 = "20020204";
    int days = 0;
    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
    java.util.Date d1 = sdf.parse(s1);
    java.util.Date d2 = sdf.parse(s2);

    days = java.lang.Math.round((d2.getTime()-d1.getTime())/(60*60*24*1000));
    System.out.println (days);
      

  2.   

    String lstrPreday="20020202";
      String lstrAftday="20020204";
      try{java.text.SimpleDateFormat df=new java.text.SimpleDateFormat("yyyyMMdd");
      System.out.println((df.parse(lstrAftday).getTime()-df.parse(lstrPreday).getTime())/(1000*3600*24));
      }catch(Exception e){System.out.println(e.toString());}
      

  3.   

    String lstrPreday="20020202";
    String lstrAftday="20020204";try{
       // use SimpleDateFormat
       java.text.SimpleDateFormat df = new java.text.SimpleDateFormat("yyyyMMdd");
       // get diff
       int diffDays = java.lang.Math.round((df.parse(lstrAftday).getTime() - df.parse(lstrPreday).getTime()) / (1000 * 60 * 60 *24));
       System.out.println(diffDays);
    } catch (java.text.ParseException e) {
       System.out.println(e.toString());
    }