在jsp中定义了两个var类型的数据,一个是TUpdBgnTm,代表某个时间段的起期。另一个是TUpdEndTm,代表某个时间段的止期。现在需要在Java文件中拿到TUpdBgnTm到TUpdEndTm之间的每一天,如何可以拿到
时间: 2024-02-18 18:02:29 浏览: 218
可以使用Java中的日期时间类`LocalDate`和`Period`来实现。具体的代码如下:
```java
// 将TUpdBgnTm和TUpdEndTm转换为LocalDate类型
LocalDate startDate = LocalDate.parse(TUpdBgnTm, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
LocalDate endDate = LocalDate.parse(TUpdEndTm, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
// 计算日期差
Period period = Period.between(startDate, endDate);
// 循环遍历每一天
for (int i = 0; i <= period.getDays(); i++) {
LocalDate date = startDate.plusDays(i);
System.out.println(date);
// 如果需要保存到List中,可以定义一个List<LocalDate>,然后使用list.add(date)来添加每一天的日期
}
```
其中,`LocalDate.parse()`方法可以将字符串类型的日期转换为`LocalDate`类型,`Period.between()`方法可以计算两个日期之间的差,`LocalDate.plusDays()`方法可以获取当前日期加上指定天数后的日期。
相关问题
在jsp中定义了两个var类型的数据,一个是TUpdBgnTm,代表某个时间段的起期。另一个是TUpdEndTm,代表某个时间段的止期。现在需要在Java文件中拿到TUpdBgnTm到TUpdEndTm之间的每一天,如何可以拿到,JDK版本为5
在 JDK 5 中,可以使用 `java.util.Calendar` 类来计算两个日期之间的所有日期。具体方法如下:
```java
import java.util.Calendar;
import java.util.Date;
// 定义两个日期变量
Date TUpdBgnTm = ...;
Date TUpdEndTm = ...;
// 创建 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);
}
```
上面的代码中,首先创建了一个 `Calendar` 对象,并将其设置为 TUpdBgnTm 的日期。然后使用一个 `while` 循环,不断地将日期加一天,并在每一次循环中处理当前日期,直到日期超过了 TUpdEndTm。
在处理日期的过程中,可以使用 `SimpleDateFormat` 类将日期格式化为字符串,或者使用 `Date` 类的其他方法对日期进行操作。
阅读全文