次の方法で、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-06-22 ではなく 2012-01-01 が保存されます。
誰が問題が何であるか知っていますか??