getTimestamp () faz timezone converstion duas vezes no conector JDBC do MySQL?
Eu tenho uma coluna do tipoDATETIME
com um valor de2012-05-07 19:59:12
no banco de dados MySQL. Estou tentando recuperar esse valor do banco de dados, supondo que ele esteja armazenado no fuso horário UTC:
<code>Calendar cal = Calendar.getInstance(new SimpleTimeZone(0, "UTC")); Date date = resultSet.getTimestamp(1, cal); System.out.println(date); </code>
Ele produz (CEST
é o meu fuso horário local, que é de 2 horas à frente do UTC):
<code>Mon May 07 23:59:12 CEST 2012 </code>
O valor esperado é:
<code>Mon May 07 21:59:12 CEST 2012 </code>
Estou usando esses três parâmetros na URL do JDBC (Europe/Berlin
é o mesmo queCEST
):
<code>..&useGmtMillisForDatetimes=true&useTimezone=true&serverTimezone=Europe/Berlin </code>
É meu defeito ou algo deve ser configurado adicionalmente no driver JDBC? estou a usarmysql:mysql-connector-java:5.1.20
.