From: thomas at tada.se (Thomas Hallgren) Date: Thu, 30 Mar 2006 22:54:45 +0200 Subject: [Pljava-dev] Has ResultSet.getDate() correct handling DayLight saving time? In-Reply-To: References: Message-ID: <442C4595.60900@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 >