JSTL中的比较日期没有按预期工作

时间:2016-06-30 15:08:07

标签: jsp datetime comparison jstl

使用以下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年的任何日期?

1 个答案:

答案 0 :(得分:0)

变量nowDate永远不会在您的代码中定义。试试

${tickerEndDate ge now}<br/>
${tickerEndDate.time ge now.time}<br/>
相关问题