int t=Integer.parseInt(new java.text.SimpleDateFormat("HHmmssss").format( java.util.Calendar.getInstance().getTime() ));int d=Integer.parseInt(new java.text.SimpleDateFormat("yyyyMMdd").format( java.util.Calendar.getInstance().getTime() ));int num=t-d;我有一次就是这么写的,直接减的。呵呵。

解决方案 »

  1.   

    //首先定义一个calendar,必须使用getInstance()进行实例化Calendar aCalendar=Calendar.getInstance();//设置时间为2004年8月30日//里面野可以直接插入date类型aCalendar.setTime(2004,Calendar.AUGUEST,30);//计算此日期是一年中的哪一天int day1=aCalendar.get(Calendar.DAY_OF_YEAR); aCalendar.setTime(2004,Calendar.AUGUEST,30);int day2=aCalendar.get(Calendar.DAY_OF_YEAR);//求出两日期相隔天数setNumberOfDays(day2-day1);  //将年份增加1个单位,同理可以增加月份,日期aCalendar.add(Calendar.YEAR,1);
      

  2.   

    转换成long型,然后两个long相减
      

  3.   

    Date d1,d2;
    long l=d1.getTime()-d2.getTime();
      

  4.   

    上面的例子代码是不好的, tiger_wkh52741说的更是有点离谱
    Date 对象表示时间(这个时间是以milliseconds来表示)。将两个时间相减,再将结果除以一天有多少milliseconds,就可以得多两个日期相差多少天。
    import java.util.*;public class DateSubtraction {
        public static void main(String[] args) {
            Calendar cal = Calendar.getInstance();
            cal.set(2000, Calendar.AUGUST, 24);
            Date d1 = cal.getTime();
            cal.set(2000, Calendar.AUGUST, 28);
            Date d2 = cal.getTime();
            long daterange = d2.getTime() - d1.getTime();
            long time = 1000 * 3600 * 24; //A day in milliseconds        System.out.println(daterange/time);    }}
        }
    }