• ベストアンサー

データベースからの日付データの取得について。

JBuilder6の中での話しなのですが、 SQLSERVERのdatetime型のデータをClassの中で取得しようと思い、以下のようにしましたがうまく時間の部分が取得できません。 DateFormat df = DateFormat.getTimeInstance(); //日時項目からデータの取得 GetDate=df.format(rs.getDate("日時")); 例えば「2002/07/11 12:40:40」というデータがあった場合、 GetDateの中身は「2002/07/11 00:00:00」になってしまいます。 なにがいけないのでしょうか。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • m_hagizo
  • ベストアンサー率65% (31/47)
回答No.1

getDate(String columnName)では、時刻情報を取れないと思ったので、getTimestamp(String columnName) の方を使ってみては? ただし、戻り値がTimestamp型になってしまうので、考慮が必要です。 Date dt = rs.getDate("日付") だったら、 Date dt = new Date((rs.getTimestamp("日付")).getTime()); とかしないといけないのかな・・・。

zima_id
質問者

お礼

いや~、getDateをgetTimestampにしたらうまくいきましたよ~♪ 本当にどうもありがとうございました。

その他の回答 (1)

  • hameggs
  • ベストアンサー率38% (8/21)
回答No.2

反則技かもしれませんが・・・・・ たしか、このテのデータって実は「rs.getString("日時")」でStringとして取ってこれたような・・・。  Stringで取ってきてから、java.sql.Dateクラスの「valueOf」をつかってDate型に戻せばOKかもしれません。  つい先日この方法を使ったような記憶があるので大丈夫だとは思いますが、できなかったら申し訳ありません。

zima_id
質問者

お礼

たしかにStringでやれば全部とれますねぇ~。 ありがとうございました。

関連するQ&A