我使用以下代码计算从 HTML INPUT TAG 获取的两个日期之间的差异,该方法称为 servlet 服务方法中的方法,
public static long daysBetween (Calendar startDate, Calendar endDate) {
Calendar date = (Calendar) startDate.clone();
long daysBetween = 0;
while (date.before(endDate)) {
date.add(Calendar.DAY_OF_MONTH, 1);
daysBetween++;
}
return daysBetween;
}
然后在传递参数的调用方法中引发了异常:
java.lang.ClassCastException: java.util.Date cannot be cast to java.util.Calendar
我该如何解决这个问题?
最佳答案
您的算法缺乏技巧。试试这个:
import java.util.Calendar;
import java.util.concurrent.TimeUnit;
public static long daysBetween (Calendar startDate, Calendar endDate) {
return TimeUnit.MILLISECONDS.toDays(
endDate.getTimeInMillis() - startDate.getTimeInMillis());
}
关于java - 使用java计算两天之间的天数,来自HTML输入标签的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9282934/