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
.