首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将request.getParameter字符串值作为日期传递给java

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

Stack Overflow用户
提问于 2012-10-15 13:09:20
回答 3查看 10.3K关注 0票数 0

在我的JSP页面中,我有一个字段,它是date,当我获得request.getParameter("dateVal");时,它会给我

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
15-Dec-2012 12:21.

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

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-15 13:13:48

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Date date = new SimpleDateFormat("dd-MMM-yyyy HH:mm.", Locale.ENGLISH).parse(dateVal);

然后,您可以在数据库层中围绕其时间创建一个java.sql.Date

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
statement.setDate(1, new java.sql.Date(date.getTime()));

与具体问题无关的,请注意,java.sql.Date不记得时间部分。如果数据库中实际上有一个DATETIMETIMESTAMP字段,而不是DATE字段,那么应该使用带有java.sql.TimestampsetTimestamp()。这样,时间部分也将被存储。

票数 1
EN

Stack Overflow用户

发布于 2012-10-15 13:49:42

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
to_date(date_in_String, format)
票数 0
EN

Stack Overflow用户

发布于 2012-10-15 13:13:53

试试这个:

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

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12896295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文