web-dev-qa-db-ja.com

JSTL日付比較

JSTLで日付の比較に関する投稿をいくつか見ましたが、それでも機能しません。

日付フィールドがあり、01-01-1970の後にあるかどうかをテストしたいと思います。

<c:if test="${user.BirthDate > whatGoesHere}">
    <doSomeLogic/>
</c:if>

たぶん豆を使うべきですか?

ありがとう!

10
Nati

<fmt:formatDate> それから年を抽出して、計算を実行できるようにします。

<fmt:formatDate value="${user.birthDate}" pattern="yyyy" var="userBirthYear" />
<c:if test="${userBirthYear le 1970}">
    <doSomeLogic/>
</c:if>
20
BalusC

Uはjstlとusebeanを次のように使用できます

    <jsp:useBean id="now" class="Java.util.Date"/>
    <c:if test="${someEvent.startDate lt now}"> 
    It's history!</c:if>
6
Saurabh Ande

Beanにブールゲッターを追加することもできます。

public boolean isBirthDateAfter1970(){
    return birthDate.after(dateOf1970);
}

したがって、次のELを使用できます。

<c:if test="${user.birthDateAfter1970}">
   You were born after the sixties.
</c:if>
6
Jasper de Vries
_<c:if test="${date1.time > date2.time}">...</c:if>
_

またはlt、_=_、gt

_<c:if test="${date1.time gt date2.time}">...</c:if>
_

_Java.util.Date_のLong getTime()メソッドを悪用します。

3
gavenkoa

(非推奨の)メソッドgetYear()getMonth()などを使用できます。

_<c:if test="${user.BirthDate.year > 99}">
  <doSomeLogic/>
</c:if>
_

getYear()は年番号-1900を返すことに注意してください。

0
Dwight