Entschuldigung, ich habe keine Antwort auf Ihre direkte Frage. Ich kann jedoch etwas Überlegenswertes vorschlagen, das alle Zeitzonenprobleme in der Datenbank vollständig vermeidet. Wenn möglich empfehle ich einfach die Verwendung von BIGINT
Felder zum Speichern von Daten mit Java. Sie speichern einfach den long
der Anzahl der Millisekunden seit der Epoche, z. aus System.currentTimeMillis()
oder Date.getTime()
.
Dann wird die Interpretation der Zeitzone für ein Datum immer in Java verwaltet, was gut darin ist, die epochenbasierte Zahl zu verwenden. Es macht es ein wenig komplizierter, die Datenbank direkt nach einem Datum außerhalb von Java abzufragen, aber es ist nicht zu schwer und lohnt sich meiner Meinung nach:
SELECT FROM_UNIXTIME(date_field / 1000) FROM table;