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

标签 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") ??

最佳答案

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

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

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

关于java - java中的SQLITE时间戳,每次都返回相同的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13319900/

相关文章:

c# - 为什么 Xamarin 文档建议使用单例进行数据库连接?

java - 在 Scala 中将日期转换为时间戳

database - Drupal 7 - 如何将 unix 时间戳插入数据库

sql - 列上的完整数据

sql - 外键列允许插入不在引用列中的值

c# - C#中的序列化和Java中的反序列化

java - 线程 "main"java.util.NoSuchElementException : No line found - Using scanner input 中的异常

java - 如何使用薄 jar 代替厚 jar ?

node.js - 启动新的 Sequelize 后端但无法连接到 SQLite DB

java - Java 中持久的客户端-服务器套接字连接