簡體   English   中英

嘗試在jsp中執行類似於@Adjust的操作

[英]Try to do something similar to @Adjust in jsp

我正在嘗試確定日期是否在60天內(與今天的日期相比)。

如果服務日期在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天內? 非常感謝。

終於我弄明白了。

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

然后准備邏輯

找出一天的方程式

60 seconds * 60 minutes * 24 hours 

尋找幾天的方程式

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

如果天數除以<= 60,則顯示是,否則顯示否

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM