これを行う方法の1つは次のとおりです。JDBCのタイムゾーンをクエリベースで設定するにはどうすればよいですか?
TimeZone.setDefault(TimeZone.getTimeZone("yourTimeZone"));
ただし、JVM全体に影響します。安全で、特定のタイムゾーンを想定していたアプリケーションまたはJVMの残りの部分に影響を与えないクエリベースでこれを行う方法はありますか?
これを行う方法の1つは次のとおりです。JDBCのタイムゾーンをクエリベースで設定するにはどうすればよいですか?
TimeZone.setDefault(TimeZone.getTimeZone("yourTimeZone"));
ただし、JVM全体に影響します。安全で、特定のタイムゾーンを想定していたアプリケーションまたはJVMの残りの部分に影響を与えないクエリベースでこれを行う方法はありますか?
Timestamp
の値を設定/取得するときのタイムゾーンを指定します。 Calendarオブジェクトで
PreparedStatement.setTimestamp(int parameterIndex, Timestamp x, Calendar cal)
、ドライバはカスタムタイムゾーンを考慮してタイムスタンプを計算することができます。 Calendarオブジェクトが指定されていない場合、ドライバはアプリケーションを実行している仮想マシンのデフォルトのタイムゾーンを使用します。
ResultSet.getTimestamp(String columnLabel, Calendar cal)
この方法は、基礎となるデータベースがタイムゾーン情報を格納していない場合、タイムスタンプのために適切なミリ秒の値を構築するために指定されたカレンダを使用します。
両方がカレンダーのタイムゾーンを使用:
Calendar.getInstance(TimeZone zone)
は、指定されたタイムゾーンとデフォルトのロケールを使用してカレンダを取得します。
Calendar.setTimeZone(TimeZone value)
指定されたタイムゾーン値を使用してタイムゾーンを設定します。
注意、これはJDBC要件の意図です)。 –
関連:http://stackoverflow.com/questions/14070572/is-java-sql-timestamp-timezone-specific 'Calendar'オブジェクトのみタイムゾーンについて(または少なくとも使用されること –