我有一個表timestamptest
,其中一列timestamp
的類型爲timestamp without time zone
。Java ResultSet.getTimestamp()將毫秒附加到輸出
我插入一個值,這個表: 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", "[email protected]");
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
。
「*是否可能不使用SimpleDateFormat *?」 - 沒有。這是如何定義'java.sql.Timestamp'上的'toString()'方法:http://docs.oracle.com/javase/7/docs/api/java/sql/Timestamp.html#toString%28 %29 –