在jsp中定义了两个var类型的数据,一个是TUpdBgnTm,代表某个时间段的起期。另一个是TUpdEndTm,代表某个时间段的止期。现在需要在Java文件中拿到TUpdBgnTm到TUpdEndTm之间的每一天,收到的TUpdEndTm和TUpdBgnTm为String类型,如何可以拿到,JDK版本为5
时间: 2024-02-19 15:02:58 浏览: 55
在 JDK 5 中,可以使用 `java.text.SimpleDateFormat` 类将字符串类型的日期转换为 `java.util.Date` 类型的日期,然后再使用 `java.util.Calendar` 类来计算两个日期之间的所有日期。具体方法如下:
```java
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
// 定义两个字符串类型的日期变量
String TUpdBgnTmStr = ...;
String TUpdEndTmStr = ...;
// 将字符串类型的日期转换为 Date 类型的日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date TUpdBgnTm = sdf.parse(TUpdBgnTmStr);
Date TUpdEndTm = sdf.parse(TUpdEndTmStr);
// 创建 Calendar 对象,并设置为 TUpdBgnTm 的日期
Calendar calendar = Calendar.getInstance();
calendar.setTime(TUpdBgnTm);
// 循环遍历 TUpdBgnTm 到 TUpdEndTm 之间的每一天
while (calendar.getTime().before(TUpdEndTm)) {
// 获取当前日期
Date date = calendar.getTime();
// 在这里处理当前日期
// 将日期加一天
calendar.add(Calendar.DAY_OF_YEAR, 1);
}
```
上面的代码中,首先创建了一个 `SimpleDateFormat` 对象,并使用它将字符串类型的日期转换为 `Date` 类型的日期。然后使用这两个日期创建了一个 `Calendar` 对象,并将其设置为 TUpdBgnTm 的日期。接着使用一个 `while` 循环,不断地将日期加一天,并在每一次循环中处理当前日期,直到日期超过了 TUpdEndTm。
在处理日期的过程中,可以使用 `SimpleDateFormat` 类将日期格式化为字符串,或者使用 `Date` 类的其他方法对日期进行操作。需要注意的是,在使用 `SimpleDateFormat` 将字符串类型的日期转换为 `Date` 类型的日期时,需要处理异常情况,例如字符串格式不正确等。
阅读全文