timestamp issues
От | Charl Gerber |
---|---|
Тема | timestamp issues |
Дата | |
Msg-id | 20050310140345.10534.qmail@web41203.mail.yahoo.com обсуждение исходный текст |
Ответы |
Re: timestamp issues
|
Список | pgsql-jdbc |
I have a machine physically located in the USA, but the OS (Linux) time is set to New Zealand time. So if I execute "date" on the command prompt, I get the New Zealand time. I have java classes converting all time to timezone "Europe/Amsterdam". I have tables with "TIMESTAMP" fields (no timezone). If I do this (through a JDBC call): "UPDATE users SET last_login=current_timestamp" then the database explorer shows the times in New Zealand time, as expected. But my the Java classes see the time (after converting the time to the Amsterdam timezone) as 19 hours ahead of Amsterdam time. (19 hours is, I think, the difference between the USA and New Zealand times?). I also tried with LOCALTIMESTAMP instead of current_timestamp, same result. If, however, I change the update to this: "UPDATE users SET last_login=?" with prepareStatement.setTimestamp(1, new Timestamp( System.currentTimeMillis()); Then the java classes see the time correct as it should. Why is this? Why does System.currentTimeMillis() and current_time give different times?
В списке pgsql-jdbc по дате отправления: