Java util.date到sql.date的日期错误

Java util.date到sql.date的日期错误,java,sql,Java,Sql,上面的代码是从表单中获取日期,并将其转换为sql.date格式,以便在准备好的语句中使用,但是生成的日期是错误的,2012年3月14日将转换为2012年01月14日+00:00:00 我这样做对吗?您的日期格式不正确mm是分钟,mm是月 关于问题不在于调用java.sql.Date构造函数。如果打印出utilDate,您将看到该值在该点上已经错误 问题是您的SimpleDataFormat字符串-它应该是“MM dd yyyy”,也就是说,将M大写。有关所有转换代码,请参阅。正如Burne所说,

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


我这样做对吗?

您的日期格式不正确mm是分钟,mm是月


关于

问题不在于调用java.sql.Date构造函数。如果打印出utilDate,您将看到该值在该点上已经错误


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

正如Burne所说,您的日期格式不正确。有关格式的完整列表,请参阅:


如您所见,月份由MM定义。对于月-日-年日期,您应该查看以下格式:
“MM-dd-yyyy”
希望对您有所帮助。

使用
MM
而不是
MM
。见此:
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());