2016-06-29 5 views
1

jstl에서 현재 날짜와 주어진 날짜 (yyyy-MM-dd 형식의 데이터베이스)를 비교하고 있지만 dd 부분 만 완료 날짜가 아닌 dd-MM-yyyy 만 비교하고 있습니다. JSTL에서 두 날짜 비교

<c:set var="now" value="<%=new java.util.Date()%>" /> 
<fmt:formatDate var="currDate" pattern="dd-MM-yyyy" value="${now}" /> 
<fmt:parseDate value="${mat_list.dt_expiry_date}" var="parsedExpDate" pattern="yyyy-MM-dd" /> 
    <fmt:formatDate var="expiryDate" pattern="dd-MM-yyyy" value="${parsedExpDate}" /> 

     <c:if test="${currDate > expiryDate}"><b><span style="background-color: red; color: white">${expiryDate}</span></b></c:if> 

어떻게 현재 날짜로 전체 날짜를 비교 대상 : 그것은 단지 29 내 코드가 (30)와 비교되어, 예를 들어 현재 날짜 29-06-2016 경우 나는 30-06-2018 비교.

+0

문자열이 아닌 날짜 비교. 날짜는 시간순으로 정렬됩니다. 문자열은 사전 순으로 정렬됩니다. 또한 해당 코드를 JSP가 아닌 컨트롤러 또는 모델에 넣으십시오. –

답변

-1

다음과 같이 시도하십시오. 스크립틀릿 또는 JSTL을 사용하십시오.

<jsp:useBean id="now" class="java.util.Date" /> 
<fmt:setLocale value="en_US" /> 
<fmt:parseDate value="${mat_list.dt_expiry_date}" var="parsedExpDate" pattern="yyyy-MM-dd" /> 
<c:if test="${now.time gt parsedExpDate.time}"> 
    <b><span style="background-color: red; color: white">${parsedExpDate}</span></b> 
</c:if>