我的SQL数据库中有一个DateTime字段,当我尝试在我的JSP页面中显示它并使用“dd-MM-yyyy hh:mm:ss”格式化它时,它只显示日期部分。例如,对于存储在数据库中的日期“2012-01-19 12:13:48”,它显示“19-01-2012 12:00:00”。可能是什么问题?
代码:
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss");
sdf.format(rs.getDate("comment_date")); //rs -> ResultSet
答案 0 :(得分:4)
来自java.sql.Date
的javadoc:
为了符合SQL DATE的定义,java.sql.Date实例包含的毫秒值必须通过在特定时区中将小时,分钟,秒和毫秒设置为零来“标准化”。实例是关联的。
为了保存时间信息,您应该使用java.sql.Timestamp
。换句话说,将rs.getDate()
更改为rs.getTimestamp()
。
答案 1 :(得分:0)
您可以查看一个有趣的日期/时间库Joda Time。它解决了标准库中日期/时间实现的许多问题。