java中2个DATE类型求天数

来源:百度知道 编辑:UC知道 时间:2024/06/22 20:48:58
import java.sql.Date;

2个DATE类型日期(如2008-01-01,2009-02-02) 用什么方法求着2个日期相差的天数 谢谢!

Calendar c = Calendar.getInstance();

c.setTime(d1);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
long l1 = c.getTimeInMillis();

c.setTime(d2);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
long l2 = c.getTimeInMillis();

return (l2 - l1) / (1000 * 60 * 60 * 24); //这个值就是相差的天数了

方法一

Date[] d=new Date[2];
d[0]=new Date("...");
d[1]=new Date("...");
Calendar[] cal=new Calendar[2];
for(int i=0;i<cal.length;i++){
cal[i]=Calendar.getInstance();
cal[i].setTime(d[i]);
cal[i].set(Calendar.HOUR_OF_DAY,0);
cal[i].set(Calendar.MINUTE,0);
cal[i].set(Calendar.SECOND,0);
}
long m=cal[0].getTime().getTime();
long n=cal[1].getTime().getTime();
int k=(int)Math.abs((m-n)/1000/3600/24);

方法二:

public static int getDiffDa