我在 JSTL 中有这个 forEach 循环。日期字符串的格式为
MM/dd/yyyy
,在 for 循环的末尾,我想每次将日期增加 1。
<c:set var="currentDate" value="${param.STARTDATE}"/>
<c:forEach begin="1" end="7" varStatus="loop">
<!-- Doing other stuff with the date as a string here -->
<c:set var="nextDay" value="currentDate + someDateCalculation" />
<c:set var="currentDate" value="${nextDay}" />
</c:forEach>
LocalDateTime
从参数中解析日期字符串,然后将其转换为 LocalDate
。然后您可以使用它的 API 增加一天。如果您想将日期用作字符串,那么您应该使用格式化程序使用指定的模式对其进行格式化。
<c:set var="currentDate" value="${LocalDateTime.parse(param.STARTDATE, DateTimeFormatter.ofPattern("MM/dd/yyyy"))}" />
<c:forEach begin="1" end="7" varStatus="loop">
<!-- Doing other stuff with the date as a string here -->
<c:set var="currentDateAsString" value="${currentDate.format(DateTimeFormatter.ofPattern("MM/dd/yyyy"))}" />
<!-- Increment a current date by 1 day -->
<c:set var="currentDate" value="${currentDate.plusDays(1)}" />
</c:forEach>