问题从java.util.Date转换为java.sql.Timestamp

1 java sql types

我正在尝试将用户提供的日期放入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());
Run Code Online (Sandbox Code Playgroud)

问题是,badDate是用户输入的正确日期,但是日期总是设置为错误的月份和日期,通常是1月2日,以及正确的时间和年份.当我尝试转换为java.sql.Date对象时遇到了同样的问题,但是时间也设置为午夜.经过一番搜索,我找不到有类似问题的人,也许有人在这看过这样的东西?

Aru*_*hny 8

日期格式错误,应该是yyyy-MM-dd'T'HH:mm.

有关日期格式的详细信息,请参阅此文档.

m代表分钟
M数月
h在AM/PM(1-12)小时
H按24小时时钟小时

如果您可以提供要尝试解析的日期值的样本,那将会更好.