Я столкнулся с этой странной проблемой при работе с PreparedStatement и не могу понять точную причину этого.Я использую функцию setDate для установки даты в PreparedStatement следующим образом:
query = "UPDATE gantt_tasks SET date_column = ? WHERE id = 1";
connection = new MySqlConnection().getConnection();
PreparedStatement preparedStmt = connection.prepareStatement(query);
preparedStmt.setDate(1, java.sql.Date.valueOf("2013-09-04"));
, что довольно просто.Однако после того, как дата установлена, когда я проверяю объект preparedStmt
, значение даты устанавливается на него как "2013-09-03"
, а не на фактическое значение даты, которое я установил, которое было "2013-09-04"
.Что я здесь не так делаю?
Я также заметил, что похожая проблема возникает и при использовании функции setTime ().Там он сокращает время на 30 минут, т.е. когда я передаю "08:00:00"
, он устанавливает значение как "07:30:00"
. Любая помощь будет принята!Спасибо!