SimpleDateFormat未显示正确的日期格式

时间:2012-01-21 09:20:00

标签: java jsp datetime simpledateformat

我的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

2 个答案:

答案 0 :(得分:4)

来自java.sql.Date的javadoc:

  

为了符合SQL DATE的定义,java.sql.Date实例包含的毫秒值必须通过在特定时区中将小时,分钟,秒和毫秒设置为零来“标准化”。实例是关联的。

为了保存时间信息,您应该使用java.sql.Timestamp。换句话说,将rs.getDate()更改为rs.getTimestamp()

答案 1 :(得分:0)

您可以查看一个有趣的日期/时间库Joda Time。它解决了标准库中日期/时间实现的许多问题。