データベースがタイムゾーン情報を提供しない場合、JDBCドライバーはそれをJVMのローカルタイムゾーンにあるかのように扱う必要があります( PreparedStatement.setDate(int、Date) ):
JavadocとJDBC仕様は、ResultSet
について明示的に何も述べていません。 などですが、一貫性を保つために、ほとんどのドライバーはデータベースから取得した日付にもそのルールを適用します。使用するタイムゾーンを明示的に制御する場合は、さまざまなset/getDate/Time/Timestamp
を使用する必要があります。 Calendar
も受け入れるメソッド 適切なタイムゾーンのオブジェクト。
一部のドライバは、データベースとの間で変換するときに使用するタイムゾーンを指定できる接続プロパティも提供します。