static int getDayBetween(Date d1,Date d2){
Calendar before=Calendar.getInstance();
Calendar after=Calendar.getInstance();
if(d1.before(d2)){
before.setTime(d1);
after.setTime(d2);
}
else{
before.setTime(d2);
after.setTime(d1);
}
int days=0;
int startDay=before.get(Calendar.DAY_OF_YEAR);
int endDay=after.get(Calendar.DAY_OF_YEAR);
int startYear=before.get(Calendar.YEAR);
int endYear=after.get(Calendar.YEAR);
before.clear();
before.set(startYear,0,1);
while(startYear!=endYear){
before.set(startYear++,Calendar.DECEMBER,31);
days+=before.get(Calendar.DAY_OF_YEAR);
}
return days+endDay-startDay;
}
Calendar before=Calendar.getInstance();
Calendar after=Calendar.getInstance();
if(d1.before(d2)){
before.setTime(d1);
after.setTime(d2);
}
else{
before.setTime(d2);
after.setTime(d1);
}
int days=0;
int startDay=before.get(Calendar.DAY_OF_YEAR);
int endDay=after.get(Calendar.DAY_OF_YEAR);
int startYear=before.get(Calendar.YEAR);
int endYear=after.get(Calendar.YEAR);
before.clear();
before.set(startYear,0,1);
while(startYear!=endYear){
before.set(startYear++,Calendar.DECEMBER,31);
days+=before.get(Calendar.DAY_OF_YEAR);
}
return days+endDay-startDay;
}
long num=(getCaldate("2005-2-16").getTimeInMillis()
-getCaldate("2004-9-28").getTimeInMillis())/1000/3600/24;
System.out.println(num);
}
public static Calendar getCaldate(String datestr){
String s[]=datestr.split("-");
Calendar d=Calendar.getInstance();
d.clear();
d.set(Integer.parseInt(s[0]),
Integer.parseInt(s[1])-1,
Integer.parseInt(s[2]),0,0,0);
return d;
}