0

私のHTMLページに生年月日が登録されています。これに基づいて、この日付に生まれたすべての従業員を表示する必要があります。元:

<input type="text" value="dob"/> < input type="submit" value="submit">

現在、次のように jsp で日付を解析しています。

java.util.Date doj = new SimpleDateFormat("dd/mm  /yyyy").parse(request.getParameter("dob")); 

out.println(doj);//printing Mon Jul 14 00:08:00 IST 2013

java.sql.Date dt=new java.sql.Date(doj.getTime());

out.println(dt);
//ex:this is giving 2013-07-21.Here I want 21-JUL-2013(as in oracle date format).  

日付形式のみの比較が必要です。

4

3 に答える 3

0

JSTL を使用して日付をフォーマットするだけで、比較を行うことができます。

<fmt:formatDate value="${doj}" pattern="dd/MMM/yyyy" var="doj" />
<c:if test="${doj eq dob}">
    <doSomeLogic/>
</c:if>
于 2013-07-21T05:06:59.983 に答える
0

SQL日付に解析する必要はありません。正しい形式の文字列として送信できます。obj.applyPattern("dd-MMMM-yyyy) のような simpleDateFormat オブジェクトにパターンを適用すると、文字列に解析できるよりも正しいフォーマットの日付が得られます。

于 2013-07-21T04:10:30.850 に答える
0

これは私の質問に対する正しい答えです(ここでは、挿入する代わりにデータを取得しています)。ありがとう@JB Nizet

 String dob = request.getParameter("DOB"):
SimpleDateFormat formater = new SimpleDateFormat("dd-MM-yyyy"); 
java.util.Date dateOfBirth = formater.parse(dob); 
String sql = "insert into table (dob) value (?)";
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setDate(1, new java.sql.Date(dateOfBirth.getTime());
stmt.executeUpdate();
于 2013-07-21T05:19:36.067 に答える