【发布时间】:2011-08-17 09:50:38
【问题描述】:
我正在尝试将用户提供的日期放入 SQL 数据库,我有以下几行来处理字符串并将其转换为 java.sql.Timestamp 对象。
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-mm-dd'T'hh:mm");
java.util.Date badDate = formatter.parse(request.getParameter("datetime"));
Timestamp date = new Timestamp(badDate.getTime());
问题是,badDate 是用户输入的正确日期,但日期总是设置为错误的月份和日期,通常是 1 月 2 日,以及正确的时间和年份。当我尝试转换为 java.sql.Date 对象时遇到了同样的问题,但是时间也设置为午夜。经过一番搜索,我找不到任何有类似问题的人,也许这里有人见过这样的东西?
【问题讨论】:
-
当您以 1 月 2 日结束时,您预计的日期是什么? request.getParameter("datetime") 返回的值是多少?您是基于实际存储在数据库中的值,还是仅在访问数据库之前打印出 java.sql.Timestamp 就得到了错误的日期?