setTimestamp(int, Timestamp, Calendar) ignoring time zone?
От | Ian Pilcher |
---|---|
Тема | setTimestamp(int, Timestamp, Calendar) ignoring time zone? |
Дата | |
Msg-id | kendbb$843$1@ger.gmane.org обсуждение исходный текст |
Ответы |
Re: setTimestamp(int, Timestamp, Calendar) ignoring time zone?
|
Список | pgsql-jdbc |
I am trying to use a Calendar parameter to setTimestamp. From what I've read, using a Calendar with a non-default time zone should change the value that is written to my table: > public static void main(String[] args) throws Exception > { > System.out.println( > "System time zone is " + TimeZone.getDefault().getID()); > Calendar c = Calendar.getInstance( > TimeZone.getTimeZone("America/Chicago")); > Class.forName(JDBC_DRIVER_CLASS); > Connection db = > DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWD); > Statement s = db.createStatement(); > s.execute("DELETE FROM foo"); > PreparedStatement ps = > db.prepareStatement("INSERT INTO foo (bar) VALUES (?)"); > ps.setTimestamp(1, Timestamp.valueOf("2013-02-01 00:00:00")); > ps.execute(); > ps.setTimestamp(1, Timestamp.valueOf("2013-02-01 00:00:00"), c); > ps.execute(); > ResultSet rs = s.executeQuery("SELECT * FROM foo"); > while (rs.next()) { > System.out.println(rs.getTimestamp(1)); > } > db.close(); > } The output from the program is: > System time zone is America/New_York > 2013-02-01 00:00:00.0 > 2013-02-01 00:00:00.0 Is this a bug/missing feature in the driver, or am I doing something wrong? Thanks! -- ======================================================================== Ian Pilcher arequipeno@gmail.com Sometimes there's nothing left to do but crash and burn...or die trying. ========================================================================
В списке pgsql-jdbc по дате отправления: