2017-02-08 15 views
2

はJava8 java.time.OffsetTimejava.time.OffsetDateTimeオブジェクト、SQLタイプTIME_WITH_TIME_ZONE/TIMESTAMP_WITH_TIME_ZONEを持つデータベースの値に、そのまま保持しましたか? I.e.の場合、データベースに+03:00または-05:00というゾーンの時刻がある場合は、データベース値から作成するOffsetTimeおよびOffsetDataTimeオブジェクトに保存されているタイムゾーンの特殊性を希望します。私の特定のケースの時間とタイムスタンプの値は、MSのSQLServerから来ているが、私はは問題すべきはないと思う... [編集]タイムゾーン情報と抽出時間/日付時刻そのまま

は:MS SQLServerのように見えるだけのタイムゾーンに対応しておりdatetimeoffset、何を持っていますTIME_WITH_TIME_ZONEをサポートする。]

答えて

2

これは、getObjectメソッド()の第二引数を使用して可能なはずですが、私もでこれをテストするために、MS SQLServerのインスタンスを持っていない...

Statement st = conn.createStatement(); 
ResultSet rs = st.executeQuery("SELECT * FROM mytable WHERE columnfoo = 500"); 
while (rs.next()) { 
    System.out.print("Column 1 returned "); 
    OffsetDateTime localDate = rs.getObject(1, OffsetDateTime.class); 
    System.out.println(localDate); 
} 
rs.close(); 
st.close(); 

注これが唯一のこと表示されます4.2以降のバージョンのJDBCドライバで使用可能帽子はJava 8対応です... release note for 4.2

+0

ありがとう、私はそれを試してみましょう。 – gknauth

関連する問題