我正在分享一些解决问题的方法。
第一的:
我假设它是一个java.util.Date
.
您可以像这样获取当前日期
<jsp:useBean id="now" class="java.util.Date"/>
然后,您可以使用 EL 表达式来比较它们:
{code}
<c:if test="${submitDate < now}">
We have not yet reached the submit date.
</c:if>{code}
EL 使用 java compareTo 方法,因此您的两个对象必须属于同一类才能进行此比较。
如果从数据库中取回一个字符串,则必须使用它来获取 java 日期。如果你从数据库中取回 a java.sql.Date
,它会变得更加棘手。黑客将是去java.sql.Date -> String -> java.util.Date using <fmt:formatDate> and <fmt:parseDate>
资源链接:
通过 JSTL 将当前日期与 db 中的 dat 进行比较
第二:
<fmt:parseDate value="${found.submitDate}" pattern="yy/MM/dd" var="submitDate"/>
<c:if test="${submitDate <now}">
We have not yet reached the submit date.
</c:if>
第三:
一种干净的方法是使用jsp:useBean
标记创建包含当前日期/时间的页面范围变量,然后使用普通 JSTL 来比较对象。
首先创建页面范围java.util.Date object
(使用 jsp:useBean),然后使用 ${now} 来引用当前日期/时间。这是一个普通的 JSP 对象,所以普通的 JSTL 操作符使用这个变量:
<jsp:useBean id="now" class="java.util.Date"/>
<c:if test="${someEvent.startDate lt now}">
It's history!
</c:if>
资源链接:
JSTL 日期与 JSP 中当前时间(现在)的比较