9

基本的な例で日付を比較しようとしていますが、最良の方法を見つけることができません。

以下は、今日の日付/時刻を取得し、IF ステートメントで比較する方法を示しています。私がハードコーディングしたフォーマットが間違っていると確信していますが、デフォルトのフォーマットであるフォーマットを出力するとき。問題は、ある日付が他の日付よりも低いかどうかを確認する方法と、日付のみにフォーマットする方法です。

<p>
    <c:set var="testme" value="<%=new java.util.Date()%>"/>
    <b><c:out value="${testme}"/></b>
</p>

<c:if test="${testme lt 'Tue Jan 29 16:02:58 GMT 2013'}">
    <p><b><span class="wrap">Test date is less.</span></b></p>
</c:if>
4

3 に答える 3

14

まず、スクリプトレットとtaglibs /EL を混在させないでください。それは単なるトラブルのレシピです。両方ではなく、どちらか一方を使用してください。taglibs/EL を先に進めたいと仮定すると、次のように実行できます。

<p>
    <jsp:useBean id="today" class="java.util.Date" />
    <b><c:out value="${today}"/></b>
</p>

<fmt:setLocale value="en_US" />
<fmt:parseDate var="testdate" value="Tue Jan 29 16:02:58 GMT 2013" pattern="EEE MMM dd HH:mm:ss z yyyy" />
<c:if test="${today.time gt testdate.time}">
    <p><b><span class="wrap">Test date is less than now.</span></b></p>
</c:if>

変数名と説明のいくつかの奇妙な矛盾も修正したことに注意してください。

于 2013-01-29T16:15:09.330 に答える