-1

私はデータベースからデータを取得しようとしています..

       while(rs.next())
               {
                java.sql.Timestamp t=rs.getTimestamp("date");

                }

ここで、タイムスタンプ 't' を java.util.Date 型に変換したいと考えています。その中で私はしようとしています

Date d=new Date(t);//but hear given error
System.out.println(d);
System.out.println(d.toGMTString());
4

1 に答える 1

2

java.sql.Timestampすでに extendsjava.util.Dateになっているので、何もする必要はありません:

Date date = t;

Timestampただし、特に予期しない可能性のある動作の詳細については、ドキュメントを読む必要があります。

上記の Timestamp クラスと java.util.Date クラスの違いにより、コードは Timestamp 値を一般的に java.util.Date のインスタンスとして表示しないことをお勧めします。Timestamp と java.util.Date の間の継承関係は、型の継承ではなく、実際には実装の継承を示しています。

(私はこれを「おっと、構成を使用すべきところに継承を使用した」と訳しています。)

これを回避するには、次を使用することをお勧めします。

Date date = new Date(t.getTime());
于 2012-08-03T05:47:34.467 に答える