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 ドライバー (使用しているドライバー) は、文字列形式のタイムスタンプをサポートしていません。

そのドキュメントを調べて、使用する必要があるタイムスタンプ形式を確認してください (1970 年からの秒数である Unix タイムスタンプが必要なようです)。

または、アプリケーションで文字列を読み取って解析します。

于 2012-11-10T11:46:59.113 に答える