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

这是我的问题的正确答案(这里不是插入我正在获取数据)。谢谢@JB 尼泽

 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 回答
0

无需解析为 sql 日期,您可以以正确格式将其作为字符串发送。您可以将模式应用于您的 simpleDateFormat 对象,例如 obj.applyPattern("dd-MMMM-yyyy) 它将为您提供正确的格式化日期,而不是将其解析为字符串。

于 2013-07-21T04:10:30.850 回答