Je mi líto, že nemám odpověď na vaši přímou otázku. Mohu však navrhnout něco, co stojí za zvážení, co se úplně vyhne všem problémům s časovým pásmem v databázi. Pokud je to možné, doporučuji jednoduše použít BIGINT
pole pro ukládání dat pomocí Java. Stačí uložit long
počtu milisekund od epochy, např. z System.currentTimeMillis()
nebo Date.getTime()
.
Interpretace časového pásma pro datum je pak vždy spravována v Javě, což je dobré při použití čísla založeného na epochách. Je to trochu složitější přímo se dotázat databáze na datum mimo Javu, ale není to příliš těžké a IMO to stojí za to:
SELECT FROM_UNIXTIME(date_field / 1000) FROM table;