У меня есть база данных Oracle, которая дает +00:00
результат для запроса:
выберите dbTimezone из двойного;
Я хотел бы работать с любой датой / time в моем Java приложении всегда как UT C.
В таблице, с которой я работаю, есть столбец типа Date
, который получает значение по умолчанию из sysdate
.
Even хотя я запускаю свое приложение с -Duser.timezone=UTC
, когда я вставляю в эту таблицу и читаю этот столбец Date
с rs.getTimestamp("DATE_CREATED")
, это на час больше ожидаемого текущего UTC
время:
Expected current UTC: 2020-02-04 20:38:12.0
Actual: 2020-02-04 21:38:12.0
Я также заметил, что select current_date from dual
вместо sysdate
приведет к ожидаемому текущему времени UT C. Следует ли изменить значение по умолчанию для этого столбца с sysdate
на current_date
(alter table MY_TABLE modify DATE_CREATED default current_date
) или существуют другие способы настройки часового пояса в приложении Java без изменения настроек базы данных?