java - 使用java计算两天之间的天数,来自HTML输入标签的日期

标签 java datetime

我使用以下代码计算从 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/

相关文章:

java - Android 数组到 Sharedpreferences 与 Gson

java - 从 eclipse 插件打开操作系统默认文件资源管理器?

python - 如何在 Python 中以毫秒为单位获取当前时间?

java - JPQL和日期比较(查询中的约束)

javascript - 在 JavaScript 中,如何将日期时间值从一种格式转换为另一种格式?

python - 删除日期为特定条件的行 Pandas

mysql - 如何获取mysql中每个用户的最新消息?

java - Maven-shade-plugin、uber-jar 和重叠类

java - 关于泛型的一些困惑

java - 以不同的方式对待 Java 警告