標準のSQL形式でUMTタイムスタンプを持つデータベースがあります。そのデータを取得して Java 日付オブジェクトを設定するにはどうすればよいですか?
私が知る限り、mysql はyyyy-mm-dd hh:mm:ss
Java に関しては、日付/時刻の情報は常に私を避けてきました。
誰かがこれに適したライブラリを知っていれば、私は提案を受け付けています。
なぜそれを直接読まないのですかDate
Date date = resultSet.getTimestamp("date_field");
Timestamp timestamp = resultSet.getTimestamp("date_time_field");
見る
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に関するものですが、あなたのケースにも当てはまります)