Извините, у меня нет ответа на ваш прямой вопрос. Тем не менее, я могу предложить кое-что, о чем стоит подумать, чтобы полностью избежать проблем с часовыми поясами в базе данных. Если возможно, я рекомендую просто использовать BIGINT
поля для хранения дат в Java. Вы просто сохраняете long
числа миллисекунд с начала эпохи, например, от System.currentTimeMillis()
или Date.getTime()
.
Тогда интерпретация часового пояса для даты всегда осуществляется в Java, что хорошо при использовании числа, основанного на эпохе. Это немного усложняет непосредственный запрос к базе данных о дате за пределами Java, однако это не слишком сложно и, как правило, стоит того IMO:
SELECT FROM_UNIXTIME(date_field / 1000) FROM table;