getTimestamp () wykonuje dwukrotnie konwersję strefy czasowej w łączu JDBC MySQL?

Mam kolumnę typuDATETIME z wartością2012-05-07 19:59:12 w bazie danych MySQL. Próbuję pobrać tę wartość z DB, zakładając, że jest ona przechowywana w strefie czasowej UTC:

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

Wyprowadza (CEST to moja lokalna strefa czasowa, która jest 2 godziny przed UTC):

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

Oczekiwana wartość to:

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

Używam tych trzech parametrów w adresie URL JDBC (Europe/Berlin jest taki sam jakCEST):

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

Czy to moja wada, czy coś powinno być skonfigurowane dodatkowo w sterowniku JDBC? używammysql:mysql-connector-java:5.1.20.

questionAnswers(1)

yourAnswerToTheQuestion