Bug in TimestampUtils.java?

From: Richard Cook <awhig(at)yahoo(dot)com>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Bug in TimestampUtils.java?
Date: 2006-11-09 20:16:29
Message-ID: 20061109201629.17691.qmail@web60221.mail.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Hi All,

I recently ran into a problem that was partially caused
by some behaviour I found in TimestampUtils.java. To me it does not
seem right...

I retrieved a Timestamp Column from Postgres as a
Date. The data in the database had a timezone of GMT -0500, the current
time was also in GMT -0500. If you look at the date that is returned
from resultSet.getDate() on a Timestamp column, the timezone for the
Date object is -0400. I would think that it should be -0500.

Here
is some sample code that illustrates the bug. Because TimestampUtils
does not have a public construct I made my own public class from the
source, to use in this example...

Thanks,
Rich

TODAY: 2006-11-09 15:06:31 -0500
Date String: 2006-10-29 23:00:00-05
Parsed date '2006-10-29 23:00:00-05' in zone
America/New_York as 2006-10-29 AD 00:00:00 -0400 (millis=1162094400000)
Converted Date: 2006-10-29 00:00:00 -0400

TimestampUtils utils = new TimestampUtils(true);

SimpleDateFormat formatter = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss Z");

Date theTime;
try {

System.out.println("TODAY: " + formatter.format(new Date()));
String dateString = "2006-10-29 23:00:00-05";
System.out.println("Date String: " + dateString);
theTime =
utils.toDate(null,dateString);
System.out.println("Converted Date: " + formatter.format(theTime));

} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message imad 2006-11-09 21:54:15 Re: Bug in TimestampUtils.java?
Previous Message Heikki Linnakangas 2006-11-09 18:52:27 Re: XA end then join fix for WebLogic