java中的SQLITE时间戳,每次都返回相同的日期

时间:2012-11-10 06:31:02

标签: java sqlite timestamp

我在使用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”)??

1 个答案:

答案 0 :(得分:0)

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

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

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