如何计算时间差?

比如 :
d1="2011-03-02";
d2="2011-03-17";
他们的天数相差15天,
怎么计算他们的时间差?

static Calendar getCalendar(String time)
{
if (null == time)
{
return null;
}
String[] times = time.split("-");
Calendar calendar = Calendar.getInstance();
calendar.set(Integer.valueOf(times[0]), Integer.valueOf(times[1]), Integer.valueOf(times[2]));
return calendar;
}

public static void main(String[] args)
{
    String startTime1 = "2011-03-02";
    String startTime2 = "2011-03-17";
    Calendar c1 = getCalendar(startTime1);
    Calendar c2 = getCalendar(startTime2);


    System.out.println("相差天数:"
            + (c2.getTimeInMillis() - c1.getTimeInMillis())/1000*60*60*24;

}

可以用Date对象的compareTo方法进行比较。
或者是Calender对象,先用getTimeInMillis()方法转换成毫秒数,然后相减,再换算成天,就知道差了几天了

获得两个时间段毫秒数 使用大数接收 相减后 /1000/60/60/24 结果就是天数了.
最笨的办法.
好办法是去用 Calendar 类处理吧.
看看Calendar的方法你就知道算起来很easy了

[code="java"]
Calendar beginDate = new GregorianCalendar(2011,3,1);
Calendar endDate = new GregorianCalendar(2011,3,5);
long day = (endDate.getTimeInMillis() - beginDate.getTimeInMillis())/86400000;
[/code]