Re: ResultSet.getTimestamp(Calendar) off by one-hour - Mailing list pgsql-jdbc

From Roland Roberts
Subject Re: ResultSet.getTimestamp(Calendar) off by one-hour
Date
Msg-id 49BAC642.6090800@astrofoto.org
Whole thread Raw
In response to Re: ResultSet.getTimestamp(Calendar) off by one-hour  (Roland Roberts <roland@astrofoto.org>)
List pgsql-jdbc
Roland Roberts wrote:
> Roland Roberts wrote:
>> Okay, postgresql appears to be using the standard TZ offset
>> regardless of whether or not DST is in effect on the day in question.
> Hmmm, I *can* get the correct behavior IF I assign the environment
> variable TZ=America/New_York before I run the client program.  But I
> don't need to do that when I'm talking to Oracle.  For the Oracle
> case, the database is on another host, both still in US/Eastern time
> zone.
>
> Are there other ways to get PostgreSQL JDBC to understand the client
> timezone w/o explicitly setting TZ?  I'm trying to find an idiot-proof
> (well, I'll settle for an idiot-resistant) method.
Blah.  It looks like this is actually a known Java bug,
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6456628

Although the bug was posted in August 2006(!) against Java 1.5, the most
recent comment is from Aug 2008 still complaining that it is not fixed.
I don't know how Java comes up with the GMT-05:00, but changing
/etc/sysconfig/clock from ZONE="America/New York" to
ZONE="America/New_York" (Java naming convention with the underscore) is
sufficient to get everything to work although when I now include

    System.out.println("default TZ=" +
TimeZone.getDefault().getDisplayName());

in my code, it prints

    default TZ=Eastern Standard Time

which is a lie, its Eastern Daylight Time.  In spite of that, the
correct value is inserted into PostgreSQL.

roland

--
               PGP Key ID: 66 BC 3B CD
Roland B. Roberts, PhD                             RL Enterprises
roland@rlenter.com                            6818 Madeline Court
roland@astrofoto.org                           Brooklyn, NY 11220


pgsql-jdbc by date:

Previous
From: Roland Roberts
Date:
Subject: Re: ResultSet.getTimestamp(Calendar) off by one-hour
Next
From: Tom Lane
Date:
Subject: Re: ResultSet.getTimestamp(Calendar) off by one-hour