11

JSTLで日付の比較に関する投稿を見たことがありますが、それでも機能させることができません。

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

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

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

ありがとう !

4

5 に答える 5

19

<fmt:formatDate>あなたがそれに数学をすることができるようにそれから年を抽出するために使うだけです。

<fmt:formatDate value="${user.birthDate}" pattern="yyyy" var="userBirthYear" />
<c:if test="${userBirthYear le 1970}">
    <doSomeLogic/>
</c:if>
于 2012-09-13T19:34:54.037 に答える
8

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

    <jsp:useBean id="now" class="java.util.Date"/>
    <c:if test="${someEvent.startDate lt now}"> 
    It's history!</c:if>
于 2012-09-13T09:28:21.847 に答える
6

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

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

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

<c:if test="${user.birthDateAfter1970}">
   You were born after the sixties.
</c:if>
于 2012-09-13T09:37:28.340 に答える
3
<c:if test="${date1.time > date2.time}">...</c:if>

またはlt、、:=_gt

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

Long getTime()の方法を利用しjava.util.Dateます。

于 2014-12-16T18:57:35.830 に答える
0

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

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

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

于 2015-02-18T19:23:12.893 に答える