我在使用 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") ??
最佳答案
您的 JDBC 驱动程序(无论您使用的是哪一个)不支持字符串格式的时间戳。
查看它的文档,看看您必须使用什么时间戳格式(它似乎需要 Unix 时间戳,即自 1970 年以来的秒数)。
或者,读取并解析应用程序中的字符串。
关于java - java中的SQLITE时间戳,每次都返回相同的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13319900/