使用以下JSTL
(日期输入来自给定模式下的messages.properties
文件)
<jsp:useBean id="now" class="java.util.Date" />
Current: ${now}<br/>
<c:catch>
<fmt:parseDate value="${tickerBegin}" pattern="yyyy-MM-dd HH:mm:ss" var="tickerBeginDate" />
<fmt:parseDate value="${tickerEnd}" pattern="yyyy-MM-dd HH:mm:ss" var="tickerEndDate" />
</c:catch>
${tickerBegin} parsed to ${tickerBeginDate}<br/>
${tickerEnd} parsed to ${tickerEndDate}<br/>
${tickerEndDate ge nowDate}<br/>
${tickerEndDate.time ge nowDate.time}<br/>
我收到这样的输出:
Current: Thu Jun 30 17:05:10 CEST 2016
2016-06-30 14:00:00 parsed to Thu Jun 30 14:00:00 CEST 2016
2017-02-04 03:32:12 parsed to Sat Feb 04 03:32:12 CET 2017
false
false
为什么这些比较都没有达到预期的效果?显然,2017年的任何日期都必须大于2016年的任何日期?
代码中从未定义变量nowDate
。试着
${tickerEndDate ge now}<br/>
${tickerEndDate.time ge now.time}<br/>