【问题标题】:SimpleDateFormat not showing the right date formatSimpleDateFormat 未显示正确的日期格式
【发布时间】:2012-01-21 09:20:00
【问题描述】:

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

【问题讨论】:

    标签: java jsp datetime simpledateformat


    【解决方案1】:

    来自java.sql.Date的javadoc:

    为了符合 SQL DATE 的定义,由 java.sql.Date 实例包装的毫秒值必须通过在特定时区中将小时、分钟、秒和毫秒设置为零来进行“规范化”。实例已关联。

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2019-10-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多