2017-10-18 80 views
0

我試圖確定日期是否在60天內(與今天的日期相比)。嘗試在jsp中執行類似於@Adjust的操作

如果服務日期在60天內,則列將顯示「是」,另一方面,如果日期超過60天,則列將顯示「否」。

我知道,如果在Lotus Notes應用程序,我可以用這個公式來實現它

@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天內?非常感謝。

+0

我在考慮先給服務日期添加60天,然後用它來com今天的日期。如果日期> =今天的日期,該列將顯示「是」,否則該列將顯示「否」。我在這個邏輯中錯過了什麼嗎? – Learner

回答

0

最後我弄明白了。

先通過變量獲取今天的日期和服務日期。

然後準備邏輯

找出方程每天天

Math.abs(variable1.getTime() - variable2.getTime()); 

60 seconds * 60 minutes * 24 hours 

查找公式如果天除以一天< = 60,表明是的,否則節目沒有

相關問題