getTimestamp () führt die Zeitzonen-Konvertierung im MySQL-JDBC-Connector zweimal durch?

Ich habe eine Spalte vom TypDATETIME mit einem Wert von2012-05-07 19:59:12 in der MySQL-Datenbank. Ich versuche, diesen Wert aus der Datenbank abzurufen, unter der Annahme, dass er in der UTC-Zeitzone gespeichert ist:

<code>Calendar cal = Calendar.getInstance(new SimpleTimeZone(0, "UTC"));
Date date = resultSet.getTimestamp(1, cal);
System.out.println(date);
</code>

Es gibt aus (CEST ist meine lokale Zeitzone (2 Stunden vor UTC):

<code>Mon May 07 23:59:12 CEST 2012
</code>

Erwarteter Wert ist:

<code>Mon May 07 21:59:12 CEST 2012
</code>

Ich verwende diese drei Parameter in der JDBC-URL (Europe/Berlin ist das gleiche wieCEST):

<code>..&useGmtMillisForDatetimes=true&useTimezone=true&serverTimezone=Europe/Berlin
</code>

Liegt es an meinem Defekt oder sollte etwas zusätzlich im JDBC-Treiber konfiguriert werden? Ich benutzemysql:mysql-connector-java:5.1.20.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage