java - SimpleDateFormat 没有显示正确的日期格式

标签 java jsp datetime simpledateformat

我的 SQL 数据库中有一个日期时间字段,当我尝试在我的 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.sql.Date 的 javadoc:

To conform with the definition of SQL DATE, the millisecond values wrapped by a java.sql.Date instance must be 'normalized' by setting the hours, minutes, seconds, and milliseconds to zero in the particular time zone with which the instance is associated.

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

关于java - SimpleDateFormat 没有显示正确的日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8951911/

相关文章:

php - 在 PHP 中格式化 DateTime 列

java - Spring Boot 应用程序中是否有调度程序 servlet?

java - Struts 2 jQuery 插件 isSubscribe 不起作用

java - Eclipse 无法识别 Debian/Linux 上的 Apache Tomcat

mysql - 如何使用spark java框架将数据插入mysql数据库

java - 使用 Struts 2 标签将 java 方法的值传递给 javascript 变量

Java夏令时似乎是错误的

Pythonians : Is there a better way to code this in Python?

java - 无法识别客户端 http header 何时完成

java - 从 servlet 显示 JSP 信息的问题