admin

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

sql

我试图将用户提供的日期放入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对象时,我遇到了同样的问题,但随后时间也设置为午夜。搜索后找不到类似问题的人,也许这里有人看到过类似的东西?


阅读 211

收藏
2021-07-01

共1个答案

admin

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

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

m代表以分钟
M为单位的“分钟
h数”,表示上午/下午(1-12)
H的小时,表示24小时的小时

如果可以提供要解析的日期值的示例,那就更好了。

2021-07-01