0

標準のSQL形式でUMTタイムスタンプを持つデータベースがあります。そのデータを取得して Java 日付オブジェクトを設定するにはどうすればよいですか?

私が知る限り、mysql はyyyy-mm-dd hh:mm:ss Java に関しては、日付/時刻の情報は常に私を避けてきました。

誰かがこれに適したライブラリを知っていれば、私は提案を受け付けています。

4

2 に答える 2

4

なぜそれを直接読まないのですかDate

Date date = resultSet.getTimestamp("date_field");

Timestamp timestamp = resultSet.getTimestamp("date_time_field");

見る

于 2012-06-15T18:18:24.827 に答える
1

Timestamp は Date のサブクラスです。つまり、Date がある場所ならどこでも使用できます。唯一の違いは、Timestamp は (SQL 仕様により) Date よりも正確であることです。

使用するだけです:

Timestamp t = resultSet.getTimestamp("columnname");
Date d = t;

そうは言っても、JDBC が返すタイムスタンプを適切な Date 値に変換し、ナノ秒を省略することにはいくつかの利点があります。アプリのリモート部分で Timestamp と Date を比較すると、Timestamp と Date は同じではありませんが、時間の値が「おおざっぱに」同じように見えます。したがって、これが問題を引き起こす可能性がある場合は、Timestamp によって返される .getTime() 値のみを使用して新しい Date インスタンスを作成します)

これについては、私のブログで詳しく説明しています: Hibernate を使用する場合のタイムスタンプと日付の等価性

(ブログエントリはHibernateに関するものですが、あなたのケースにも当てはまります)

于 2012-06-15T18:32:23.740 に答える