2012-02-12 61 views
3
String d = request.getParameter("date"); 
SimpleDateFormat dateFormat = new SimpleDateFormat("mm-dd-yyyy"); 
java.util.Date utilDate = dateFormat.parse(d); 
java.sql.Date date = new java.sql.Date(utilDate.getTime()); 

上面的代码是从表单中获取一个日期并将其转换为sql.date格式以便在准备好的语句中使用,但是生成的日期是错误的,03-14-2012正在转换为2012-01-14 +00:00:00util.date给sql.date给出错误的日期

我在做这个正确的方法吗?

+0

什么是'请求'? – 2012-02-12 16:21:50

+2

使用'MM'而不是'mm'。看到这个:http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html – home 2012-02-12 16:23:10

回答

3

您的日期格式不正确mm是分钟,MM是几个月。

Regards

0

问题不在于调用java.sql.Date构造函数。如果你打印出utilDate,你会发现这个值在这个时候已经是错误的了。

问题是你的SimpleDateFormat字符串 - 它应该是“MM-dd-yyyy”,也就是说,M的大写。有关所有转换代码,请参阅javadoc

相关问题