0

我想通过这种方式在 JSP 中使用 Prepared Statement 将用户输入的格式为 YYYY-MM-DD 的日期插入数据库:

 SimpleDateFormat reFormat = new SimpleDateFormat("YYYY-MM-DD") 
 Date activityDate = reFormat.parse(request.getParameter("activity_date"));
 java.sql.Date sqlDate = new java.sql.Date(activityDate.getTime());

 String query = "INSERT INTO schedule(login_name,activity_date) VALUES (?, ?)";
 PreparedStatement stmt = connection.prepareStatement(query);
 stmt.setString(1,request.getParameter("name_of_user"));
 stmt.setDate(2,sqlDate);
 stmt.executeUpdate();

但是,如果用户在数据库中输入例如:2012-06-22,则会保存错误的日期 2012-01-01 而不是 2012-06-22

有谁知道是什么问题??

4

1 回答 1

2

正确的格式是yyyy-MM-dd. Y没有任何意义,并且D意味着一年中的一天(而不是一个月中的一天)。

于 2012-06-28T21:41:58.447 回答