I have a column of type DATETIME
wiht a value of 2012-05-07 19:59:12
in MySQL database. I'm trying to retrieve this value from DB, assuming that it's stored in UTC timezone:
Calendar cal = Calendar.getInstance(new SimpleTimeZone(0, "UTC"));
Date date = resultSet.getTimestamp(1, cal);
System.out.println(date);
It outputs (CEST
is my local timezone, which is 2 hours ahead of UTC):
Mon May 07 23:59:12 CEST 2012
Expected value is:
Mon May 07 21:59:12 CEST 2012
I'm using these three params in JDBC URL (Europe/Berlin
is the same as CEST
):
..&useGmtMillisForDatetimes=true&useTimezone=true&serverTimezone=Europe/Berlin
Is it my defect or something should be configured additionally in the JDBC driver? I'm using mysql:mysql-connector-java:5.1.20
.
With these JDBC URL params it works:
useGmtMillisForDatetimes=true
useJDBCCompliantTimezoneShift=true
useLegacyDatetimeCode=false
useTimezone=true
serverTimezone=UTC
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With