agora inbox for pljava-dev@postgresql.org
help / color / mirror / Atom feedSubject: [Pljava-dev] Has ResultSet.getDate() correct handling DayLight saving time?
Date: Fri, 31 Mar 2006 09:16:56 +0600
Message-ID: <ce6becd90603301916t6bd5aa29o6c4c2cad80dcde8f@mail.gmail.com> (raw)
In-Reply-To: <ce6becd90603301840j1b423bedwd3bee51555620eb6@mail.gmail.com>
References: <ce6becd90603301204p4ad121dcna667b89621661b17@mail.gmail.com>
<442C4595.60900@tada.se>
<ce6becd90603301840j1b423bedwd3bee51555620eb6@mail.gmail.com>
And this code in Date.c
static jvalue _Date_coerceDatum(Type self, Datum arg)
{
jlong date = (jlong)(DatumGetDateADT(arg) + EPOCH_DIFF);
jvalue result;
date *= 86400L; // Convert to seconds
date += Timestamp_getCurrentTimeZone(); // Add local timezone
result.l = JNI_newObject(s_Date_class, s_Date_init, date * 1000);
return result;
}
date += Timestamp_getCurrentTimeZone(); // Add local timezone
may be so ????
date +=Timestamp_getCurrentTime(date);
--------------------
WBR, NiC
2006/3/31, Nic Nofamily <carapuz at gmail.com>:
> But d.getTime() return different values when I called the same code from
> pljava.jdbc and postgresql.jdbc on same machine with same JVM. The diff was
> 3600000 msek before for pljava.
> :( TimeZone.getDefault() at both pljava.jdbc and postgresql.jdbc equals
> ---------
> WBR, NiC
>
> 2006/3/31, Thomas Hallgren <thomas at tada.se>:
> > Hi Nic,
> > I don't think the returned date as such is incorrect. The problem occurs
> > when you represent the date as a string. What timezone do you use when
> > you do that? Do you simply use d.toString() ? If so, the default
> > timezone for your JVM is incorrect and that's the source of the problem.
> >
> > Regards,
> > Thomas Hallgren
> >
> > Nic Nofamily wrote:
> > > Hi all!
> > > I have a little trouble with my pljava functions last night:(
> > > --------------
> > > here config:
> > > Java HotSpot(TM) Server VM (build 1.5.0_06-b05, mixed mode)
> > > Debian Sarge
> > > pljava 1.2.0 compiled from source
> > > postgresql 8.1.3 installed from debian backports
> > > ---------------
> > > ResultSet.getDate for to_date('01/11/2005','DD/MM/YYYY') returns
> > > 31/10/2005 for pljava jdbc driver
> > > the same java code using postgresql jdbc driver works fine:(
> > >
> > > I discovered that wrong result depend on DayLight Saving time
> > > and i wrote workaround on ObjectResultSet.getDate()
> > >
> > > public Date getDate(int columnIndex)
> > > throws SQLException
> > > {
> > > Date d = (Date)this.getValue(columnIndex,Date.class);
> > > if(!java.util.TimeZone.getDefault().inDaylightTime(d)){
> > > d = new
> > >
> >
> java.sql.Date(d.getTime()+java.util.TimeZone.getDefault().getDSTSavings());
> > > }
> > > return d;
> > > }
> > >
> > > now my pljava code works good, but that's wrong way:(
> > > What are you comments, developers?:)
> > > PS: sorry for my English,I am Russian:)
> > > _______________________________________________
> > > Pljava-dev mailing list
> > > Pljava-dev at gborg.postgresql.org
> > > http://gborg.postgresql.org/mailman/listinfo/pljava-dev
> > >
> >
> >
>
view thread (5+ messages) latest in thread
Message-ID: <ce6becd90603301916t6bd5aa29o6c4c2cad80dcde8f@mail.gmail.com>
Permalink: ../ce6becd90603301916t6bd5aa29o6c4c2cad80dcde8f@mail.gmail.com/
Also on: postgresql.org/message-id/ce6becd90603301916t6bd5aa29o6c4c2cad80dcde8f@mail.gmail.com
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pljava-dev@postgresql.org
Subject: Re: [Pljava-dev] Has ResultSet.getDate() correct handling DayLight saving time?
In-Reply-To: <ce6becd90603301916t6bd5aa29o6c4c2cad80dcde8f@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox