0

我在一个jsp表单模板中有这个语句

<% if (forms.getFlDate().equals("10/17/05")) { %>
<jsp:getProperty name="forms" property="flDate" /><br />
<% } %>

但是,我需要测试一个大于 ("10/17/05") 的日期。

我努力了

<% if (forms.getFlDate().gt("10/17/05")) { %>
<jsp:getProperty name="forms" property="flDate" /><br />
<% } %>

但它不起作用。这不是我真正的尝试,有点被推入其中。

4

2 回答 2

0

您可以先使用将“10/17/05”转换为日期对象SimpleDateFormat,然后再比较使用<% if (forms.getFlDate().after(myDate)) { %>

<%
    SimpleDateFormat fmt = new SimpleDateFormat("MM/dd/yy");
    java.util.Date myDate = fmt.parse("10/17/05");
    if (forms.getFlDate().after(myDate)) {
      // your logic here
    }

%>
于 2013-10-10T18:12:14.007 回答
0

如果您要多次使用这个“10/17/05”,请在 JSP 中更早地引入一个变量:

<% Calendar earlyDate = Calendar.getInstance();
   earlyDate.set(2005, Calendar.OCTOBER, 17, 0, 0, 0); // ** ** **
   Date earliest = earlyDate.getTime();
%>

然后后来...

<% if(forms.getFlDate().after(earliest)){ %>
    <jsp:doSomethingHere.../>
<% } %>

请注意,这假定您的 flDate 字段被声明为日期而不是字符串。如果不是,您也应该遵循@S4beR 的建议,使用 SimpleDateFormat 将 String 转换为 Date 对象。

** ** ** 使用十月的常量,因为日历中的月份是从零开始的。掌心

于 2013-10-10T18:21:38.307 回答