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 フィールドが String ではなく Date として宣言されていることを前提としていることに注意してください。そうでない場合は、SimpleDateFormat を使用して String を Date オブジェクトに変換するための @S4beR のアドバイスに従う必要があります。

** ** ** Calendar の月は 0 から始まるため、10 月には定数を使用してください。フェイスパーム

于 2013-10-10T18:21:38.307 に答える