我希望以这种方式使用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
有人知道这是什么问题吗?
答案 0 :(得分:2)
正确的格式为yyyy-MM-dd
。 Y
并不代表任何内容,D
表示一年中的某一天(而不是一个月中的某一天)。