2017-10-18 3 views
0

Ich versuche zu bestimmen, ob das Datum innerhalb von 60 Tagen ist (im Vergleich zum heutigen Datum).Versuchen Sie etwas Ähnliches wie @Adjust in Jsp

Wenn das Service-Datum innerhalb von 60 Tagen liegt, wird in der Spalte "Yes" angezeigt, auf der anderen Seite, wenn das Datum länger als 60 Tage ist, wird in der Spalte "No" angezeigt.

Ich weiß, wenn in Lotus Notes-Anwendung, ich diese Formel zu erreichen verwenden kann es

@If(@Adjust(ServiceDate; 0; ; 60; 0; 0; 0) >= @Today; "Yes"; "No") 

Jetzt versuche ich, etwas ähnliches in der JSP-Datei zu tun (kein Lotus Notes-Anwendung)

<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> 

Also ich würde gerne wissen, ist es möglich, etwas Ähnliches wie @Adjust() in Jsp zu tun, um das Datum innerhalb von 60 Tagen zu bestimmen? Danke vielmals.

+0

Ich denke über hinzufügen 60 Tage zu Service-Datum zuerst, und dann verwenden Sie es zu com pare das heutige Datum. Wenn das Datum> = das heutige Datum ist, wird in der Spalte "Yes" angezeigt, andernfalls wird in der Spalte "No" angezeigt. Verpasse ich etwas in dieser Logik? – Learner

Antwort

0

Endlich finde ich es heraus.

Zuerst Datum und Datum des heutigen Datums durch Variable erhalten.

bereiten dann die Logik

Gleichung für einen Tag Finden Sie heraus,

60 seconds * 60 minutes * 24 hours 

Suche Gleichung für Tage

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

Wenn Tagen täglich < = 60 teilen, zeigen ja, sonst zeigen nein

Verwandte Themen