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();
}
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 |