我有一个表单,用户输入广告开始时间和广告结束时间,该时间的格式为"yyyy/mm/dd hh:mm:ss",然后将此数据推送到数据库.
但是当用户输入"yyyy/mm/dd 12:00:00"或基本上任何东西12时,当我使用24时它只是不起作用,数据库显示00:00:00,当我输入12.我如何防止发生了什么?
SplashPageValue value = new SplashPageValue();
SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
value.adStartDate = df.parse(fileUp.getString("adStartDate"));
value.adEndDate = df.parse(fileUp.getString("adEndDate"));
Run Code Online (Sandbox Code Playgroud)
截图如下:
表格

我在数据库中看到的使用SQuirreL

你的问题不清楚,但我强烈怀疑问题只是你正在使用12小时时钟解析.更改您的格式字符串以使用HH而不是hh,这可能只是解决问题:
SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Run Code Online (Sandbox Code Playgroud)
您还应该考虑在解析时要使用哪个时区.就个人而言,我更喜欢使用Joda Time来进行Java中的所有日期和时间操作 - 包括解析/格式化,因为SimpleDateFormat它不是线程安全的,不像Joda Time的解析器.