【发布时间】:2017-10-18 08:09:11
【问题描述】:
我正在尝试确定日期是否在 60 天内(与今天的日期相比)。
如果服务日期在 60 天以内,该栏会显示“是”,反之,如果服务日期超过 60 天,则该栏会显示“否”。
我知道如果在莲花笔记应用中,我可以使用这个公式来实现它
@If(@Adjust(ServiceDate; 0; ; 60; 0; 0; 0) >= @Today; "Yes"; "No")
现在,我尝试在 jsp 文件中做类似的事情(没有 lotus notes 应用程序)
<display:table name="${serviceList}" class="its" uid="row"
sort="list" pagesize="10" requestURI="service_view" export="false" defaultsort="2" defaultorder="descending" id="serviceTable">
<display:column style="width: 30%" title="Service Name" property="serviceName" />
<!-- this column is for display -->
<display:column style="width: 10%" title="Service Date" property="serviceDate" format="{0,date,dd-MM-yyyy}" />
<!-- this service date is for calculation -->
<display:column title="Service date">
<fmt:formatDate value="${attr.row.serviceDate}" var="formatservicedate"
type="date" pattern="dd-MM-yyyy" />
<c:set var= "servicedate" value = "${formatservicedate}" />
<c:out value = "${servicedate}" />
</display:column>
<!-- this today's date is for calculation -->
<display:column title='today date'>
<%@page import="java.text.SimpleDateFormat, java.util.Calendar, java.text.DateFormat"%>
<%
DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
Calendar cal = Calendar.getInstance();
%>
<%-- try to use variable to show --%>
<!-- get today's date in dd/mm/yyyy by variable -->
<c:set var= "todaydate" value = "<%= dateFormat.format(cal.getTime()) %>" />
<c:out value = "${todaydate}" />
</display:column>
<display:column title='Is within 60 days'>
<%@page import="java.text.SimpleDateFormat, java.util.Calendar, java.text.DateFormat"%>
<%
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
Calendar cal = Calendar.getInstance();
%>
<!-- get today's date in dd/mm/yyyy by variable -->
<c:set var= "todaydate" value = "<%= dateFormat.format(cal.getTime()) %>" />
<!-- get service date by variable-->
<fmt:formatDate value="${attr.row.serviceDate}" var="formatservicedate"
type="date" pattern="dd/MM/yyyy" />
<c:set var= "servicedate" value = "${formatservicedate}" />
<!-- I tried <c:if test="${servicedate + 60 ge todaydate}"> but not work -->
<!-- I am not sure how to plus 60 days for service date in the logic -->
<c:if test="${servicedate ge todaydate}">
<p><b>Yes</b></p>
</c:if>
<c:if test="${!servicedate ge todaydate}">
<p><b>No</b></p>
</c:if>
</display:column>
</display:table>
所以我想知道是否可以在 jsp 中做类似于 @Adjust() 的事情来确定日期在 60 天内?非常感谢。
【问题讨论】:
-
我正在考虑先将服务日期加60天,然后用它来比较今天的日期。如果日期 >= 今天的日期,则该列将显示“是”,否则该列将显示“否”。我在这个逻辑中遗漏了什么吗?
标签: java date jsp jstl jstl-functions