(time1 - time2)/(1000*60*60*24)

解决方案 »

  1.   

    public int calculate(long time1, long time2)
    {
        int answer;//该值为两日期之间相差的天数
         answer = (time1 - time2)/(1000*60*60*24);
        return answer;
    }
      

  2.   

    public static double compareDate(Date date1,Date date2){

    double time1,time2,msPerDay;
    msPerDay=24*60*60*1000;
      time1=date1.getTime ();
      time2=date2.getTime (); return (time2-time1)/msPerDay;
    }
      

  3.   

    说明String startdate, String enddate 的参数根式都是2003-04-01式样的
    public long 两天之间天数(String startdate, String enddate) throws java.lang.Exception {
    int[] start = new int[3];
    java.util.StringTokenizer start1 = new java.util.StringTokenizer(startdate, "-");
    int i = 0;
    while (start1.hasMoreTokens()) {
    start[i++] = Integer.parseInt(start1.nextToken());
    System.out.println(start[i - 1]);
    }
    int[] end = new int[3];
    java.util.StringTokenizer end1 = new java.util.StringTokenizer(enddate, "-");
    i = 0;
    while (end1.hasMoreTokens()) {
    end[i++] = Integer.parseInt(end1.nextToken());
    System.out.println(end[i - 1]);
    }
    System.out.println(end[2]);
    Calendar c1 = Calendar.getInstance();
    c1.set(start[0], start[1] - 1, start[2]);
    long m1 = c1.getTime().getTime();
    Calendar c2 = Calendar.getInstance();
    c2.set(end[0], end[1] - 1, end[2]);
    long m2 = c2.getTime().getTime();
    System.out.println("m1=" + m1);
    System.out.println("m2=" + m2);
    long d = m2 - m1;
    if (m1 > m2) {
    // -------------------------------------------------------------------
    System.out.println("数据库时间设置有错误!");
    // -------------------------------------------------------------------
    throw(new Exception("数据库时间设置有错误!请重新设置数据库时间!!"));
    }
    return (d / (3600 * 24 * 1000));
    }
      

  4.   

    楼主传的参数是long的,直接计算相减误差可能很大的。建议用BigDecimal类的BigDecimal(String)构造器封装后计算
      

  5.   

    日期加减
    SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd");
    String str="20011230";
    Date dt=sdf.parse(str,new ParsePosition(0));
    Calendar rightNow = Calendar.getInstance();
    rightNow.setTime(dt);
    rightNow.add(Calendar.DATE,2);//你要加减的日期 
    Date dt1=rightNow.getTime();
    String reStr=sdf.format(dt1,"",new FieldPosition(0));
    System.out.println(reStr);