このプロジェクトでは、MySQLデータベースを使用しています。しかし今、PostgreSQLに移行したいと思います。 timestamp型の列を持つ1つのテーブルを除いて、すべてが正常に動作します。PostgreSQL PreparedStatement.setTimestamp question
//MedName is varchar, and DateTime is timestamp
String INSERT_REFILL = "INSERT INTO refill (MedName, DateTime) VALUES (?, ?)";
PreparedStatement ps = conn.prepareStatement(INSERT_REFILL);
ps.setString(1, "Tylenol");
java.sql.Timestamp sqlDate = new java.sql.Timestamp(new java.util.Date().getTime());
TimeZone tz = TimeZone.getTimeZone("GMT");
GregorianCalendar cal = (GregorianCalendar) GregorianCalendar.getInstance(tz);
ps.setTimestamp(2, sqlDate, cal);
私の質問:いくつかの理由で、setTimestampはいつものPreparedStatementの値に5時間を追加します。私はセントラルにいるので、私の時間は夏時間のためにxx:xx:xx-0500(Central)になります。しかし、私は本当に+5時間がそれに由来すると疑っています。何か案は?
注:私はPostgreSQLデータベースをセットアップした人ではありませんが、私はそのテーブルを作成しました。