MySQL データベースにDATETIME
の値を持つ型の列があります。2012-05-07 19:59:12
UTCタイムゾーンで保存されていると仮定して、DBからこの値を取得しようとしています:
Calendar cal = Calendar.getInstance(new SimpleTimeZone(0, "UTC"));
Date date = resultSet.getTimestamp(1, cal);
System.out.println(date);
それは出力します(CEST
UTCより2時間進んでいる私のローカルタイムゾーンです):
Mon May 07 23:59:12 CEST 2012
期待値は次のとおりです。
Mon May 07 21:59:12 CEST 2012
JDBC URL で次の 3 つのパラメーターを使用しています (Europe/Berlin
は と同じですCEST
)。
..&useGmtMillisForDatetimes=true&useTimezone=true&serverTimezone=Europe/Berlin
それは私の欠陥ですか、それとも JDBC ドライバーで何かを追加で構成する必要がありますか? を使用してmysql:mysql-connector-java:5.1.20
います。