我在使用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”)??
答案 0 :(得分:0)
您的JDBC驱动程序(您使用的任何一个)不支持字符串格式的时间戳。
查看其文档以了解您必须使用的时间戳格式(似乎它需要Unix时间戳,这是自1970年以来的秒数)。
或者,阅读并解析应用程序中的字符串。