一个时间段的日期的类型是String 功能是在选择的时候起止日期不能超过三天,可以直接用止期减去起期的方法,但是跨月的情况怎么办,比如说5月31日到6月1日并没有超过三天,但是用止期减去起期的方法肯定是大于3了,代码需要在jsp里写
时间: 2024-03-01 22:49:42 浏览: 21
在jsp中,可以使用Java的SimpleDateFormat类将起始日期和结束日期转换为Date类型,然后再使用Calendar类计算日期之间的差值。具体实现方法如下:
1.先将起始日期和结束日期转换为Date类型
```java
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date startDate = format.parse(start_date_str);
Date endDate = format.parse(end_date_str);
```
2.计算日期之间的差值
```java
Calendar startCalendar = Calendar.getInstance();
startCalendar.setTime(startDate);
Calendar endCalendar = Calendar.getInstance();
endCalendar.setTime(endDate);
long diff = endCalendar.getTimeInMillis() - startCalendar.getTimeInMillis();
long diffDays = diff / (24 * 60 * 60 * 1000);
```
3.判断差值是否大于3天
```java
if (diffDays > 2) {
out.print("起始日期和结束日期之间不能超过3天");
} else {
out.print("日期选择正确");
}
```
这样就可以准确地计算日期之间的差值,避免了跨月的情况造成的计算错误。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)