[Pljava-dev] Has ResultSet.getDate() correct handling DayLight saving time?

From: thomas at tada(dot)se (Thomas Hallgren)
To:
Subject: [Pljava-dev] Has ResultSet.getDate() correct handling DayLight saving time?
Date: 2006-03-31 05:39:30
Message-ID: 442CC092.4070101@tada.se
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pljava-dev

Hi Nic,
Doh, you're right! The timezone is added correctly but I pick todays
timezone, not the timezone of the date in question. I'll get back to you
when that's fixed. Thanks for pointing this out (and keeping after me
when I claimed there was no problem).

Regards,
Thomas Hallgren

Nic Nofamily wrote:
> 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
>>>
>>>
>>
> _______________________________________________
> Pljava-dev mailing list
> Pljava-dev at gborg.postgresql.org
> http://gborg.postgresql.org/mailman/listinfo/pljava-dev
>

In response to

Browse pljava-dev by date

  From Date Subject
Next Message claudio ferraz 2006-03-31 21:07:55 [Pljava-dev] java.lang.UnsupportedOperationException: TYPE_FORWARD_ONLY
Previous Message Nic Nofamily 2006-03-31 03:16:56 [Pljava-dev] Has ResultSet.getDate() correct handling DayLight saving time?