timestamp issues

From: Charl Gerber <charlgerber(at)yahoo(dot)com>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: timestamp issues
Date: 2005-03-10 14:03:45
Message-ID: 20050310140345.10534.qmail@web41203.mail.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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?

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Scott Marlowe 2005-03-10 20:38:53 Re: PostGreSQL Date Query?
Previous Message Prasanth 2005-03-09 22:49:33 Re: Crystal Reports: Connection rejected: FATAL: no PostgreSQL