项目需要计算一个日期列表内所有漏掉的日期,因此,需要能判定:
1.日期是否连续的;
2.日期相差的天数;
以上两个问题,可以看做一个,计算两个日期相差的天数,计算方法如下:
/**
* 判断日期2与日期1相差的天数
* @param d1
* @param d2
* @return
*/
public static long betweenDays(Date d1,Date d2) {
long time1 = d1.getTime();
long time2 = d2.getTime();
long days = (time2 - time1)/(24 * 60 * 60 * 1000L);
return Math.abs(days);
}
/**
* 判断日期2与日期1是否连续
* @param d1
* @param d2
* @return
*/
public static boolean isNextDay(Date d1,Date d2) {
return betweenDays(d1, d2) == 1;
}