2012-01-21 29 views
1

SQLデータベースにDateTimeフィールドがあり、JSPページに表示して「dd-MM-yyyy hh:mm:ss」を使用してフォーマットしようとすると、正しく日付部分のみ。たとえば、データベースに格納されている日付「2012-01-19 12:13:48」では、「19-01-2012 12:00:00」と表示されます。何が問題なのでしょうか?SimpleDateFormatに正しい日付形式が表示されない

コード:

SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss"); 
sdf.format(rs.getDate("comment_date")); //rs -> ResultSet 

答えて

4

java.sql.DateのJavadocから:

SQLのDATEの定義に合致するように、java.sql.Dateのインスタンスでラップミリ秒の値は、「正規化しなければなりませんインスタンスが関連付けられている特定のタイムゾーンで時、分、秒、およびミリ秒を0に設定することによって、

時刻情報も保存するには、java.sql.Timestampを使用する必要があります。つまり、rs.getDate()rs.getTimestamp()に変更します。

+0

ありがとう、それはそれをすべて解決しました:)) – chris05

0

あなたが見ることができる興味深い日時ライブラリはJoda Timeです。これは、標準ライブラリの日付/時刻実装の多くの問題を解決します。

関連する問題