request.getParameter字符串值作为日期传递给java

时间:2012-10-15 13:09:20

标签: java jsp date oracle10g

在我的JSP页面中,我有一个字段,即日期,当我request.getParameter("dateVal");给我时

15-Dec-2012 12:21.

我想将此值传递给我的数据库过程并插入/更新到表中。 如何使用setDate将值prepareCall传递给数据库?

由于

3 个答案:

答案 0 :(得分:1)

第一步是使用SimpleDateFormat将其解析为控制器中的一个完整的java.util.Date实例:

Date date = new SimpleDateFormat("dd-MMM-yyyy HH:mm.", Locale.ENGLISH).parse(dateVal);

然后你可以在数据库层中创建一个java.sql.Date

statement.setDate(1, new java.sql.Date(date.getTime()));

对于具体问题

无关,请注意java.sql.Date不记得时间部分。如果您在数据库中实际存在DATETIMETIMESTAMP字段,而不是DATE字段,则应使用setTimestamp()代替java.sql.Timestamp。这样,时间部分也将被存储。

答案 1 :(得分:0)

@BalusC的答案是完美的。但作为替代解决方案,您可以使用数据库提供的功能在查询时将String转换为Date。例如(如果您使用Oracle),

to_date(date_in_String, format)

答案 2 :(得分:-1)

试试这个:

new SimpleDateFormat("dd-MM-yyyy HH:mm").parse(mydate);