0

在我的 JSP 页面中,我有一个字段,它是日期,当我得到 as 时request.getParameter("dateVal");给了我

15-Dec-2012 12:21.

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

谢谢

4

3 回答 3

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不记得时间部分。如果您实际上在数据库中有一个DATETIMEorTIMESTAMP字段而不是一个DATE字段,那么宁可使用setTimestamp()with ajava.sql.Timestamp代替。这样时间部分也将被存储。

于 2012-10-15T13:13:48.417 回答
0

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

to_date(date_in_String, format)
于 2012-10-15T13:49:41.527 回答
-1

试试这个 :

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

于 2012-10-15T13:13:52.870 回答