gpt4 book ai didi

Java ResultSet.getTimestamp() 将毫秒附加到输出

转载 作者:行者123 更新时间:2023-11-29 13:55:41 26 4
gpt4 key购买 nike

我有一个表 timestamptest,其中有一列 timestamp 类型为 timestamp without time zone

我在此表中插入了一个值:
insert into timestamptest values('2015-09-08 13:11:11')

时间戳不包含任何毫秒值。
在 pgAdmin 中选择此数据时,显示与上面相同。

但是当我使用 jdbc 连接获取这些数据时,显示的值是毫秒。

    Class.forName("org.postgresql.Driver");
Connection lConnection = null;
lConnection = DriverManager.getConnection(
"jdbc:postgresql://localhost:5432/postgres","postgres", "Password@123");
String lQuery = "select * from timestamptest";
Statement lStatement = lConnection.createStatement();
ResultSet lResultSet = lStatement.executeQuery(lQuery);
while(lResultSet.next()) {
System.out.println(lResultSet.getTimestamp(1));
}

输出:2015-09-08 13:11:11.0

期望的输出是 2015-09-08 13:11:11

可以通过使用 SimpleDateFormat 来实现:
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(lResultSet.getTimestamp(1).getTime())

不使用 SimpleDateFormat 是否可行?有没有其他方法可以让结果集本身以所需的格式提供给我?

我需要的是声明lResultSet.getTimestamp(1)
直接给我输出 2015-09-08 13:11:11

最佳答案

这是不可能的。由于 ResultSet.getTimestamp(1) 返回扩展 java.sql.TimeStamp 的类。返回基于数据库驱动程序的类。而且我们也不能更改它的 toString 实现。

关于Java ResultSet.getTimestamp() 将毫秒附加到输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32455209/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com