1

我在使用 sqlite 时遇到了一点问题。每当我尝试从 sqlite 表中获取时间戳时,它总是返回相同的日期。这是我的代码:

ResultSet resultSet = statement.executeQuery("SELECT * FROM chat_cache");
Timestamp ts = resultSet.getTimestamp("timestamp");
System.out.println(ts);

输出:1970-01-01 05:30:00.0

但是当我将代码更改为:

String ts = resultSet.getString("timestamp");

我得到了正确的时间戳。2012-11-08 08:05:54 为什么会这样?为什么 sqlite 不支持 resultSet.getTimestamp("timestamp") ?

4

1 回答 1

0

您的 JDBC 驱动程序(无论您使用哪个)不支持字符串格式的时间戳。

查看它的文档以了解您必须使用哪种时间戳格式(它似乎需要 Unix 时间戳,即自 1970 年以来的秒数)。

或者,读取并解析应用程序中的字符串。

于 2012-11-10T11:46:59.113 回答