Received: from hub.org.org (localhost [127.0.0.1]) by hub.org (8.10.1/8.11.0) with SMTP id e9GNhYW07999 for ; Mon, 16 Oct 2000 19:43:34 -0400 (EDT) (envelope-from pgsql-interfaces-owner@hub.org) Received: from sushi.toad.net (IDENT:root@sushi-old.toad.net [209.150.117.251]) by hub.org (8.10.1/8.11.0) with ESMTP id e9GNaOW04691 for ; Mon, 16 Oct 2000 19:36:24 -0400 (EDT) (envelope-from khkachn@toad.net) Received: from toad.net (core18d12.dynamic-dialup.toad.net [162.33.188.12]) by sushi.toad.net (8.9.3/8.9.3) with ESMTP id TAA12481 for ; Mon, 16 Oct 2000 19:36:20 -0400 Message-ID: <39EB9120.F4D480D8@toad.net> Date: Mon, 16 Oct 2000 19:37:04 -0400 From: Ken Kachnowich Reply-To: khkachn@NOSPAMtoad.net X-Mailer: Mozilla 4.61 [en] (Win98; I) X-Accept-Language: en MIME-Version: 1.0 To: Postgres interfaces Subject: Re: datetime fix References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Archive-Number: 200010/137 X-Sequence-Number: 1494 Thanks Michael. A couple of typos in what you sent. The uppercase MM for the minuets should be lowercase mm. Unfortenitly this does not work for me. When I select from the database with psql I see times like this: 11:30:10.74-04 or 11:30:10-04 I do not know where the -04 is coming from or what it means. What I want to do is select a timestamp field from one table and use it in a select from another table. The times in the two tables are exactly the same. But even with the fix the second select fails to get the record. Ken Michael Stephenson wrote: > > > Was there a rummer that a patch was coming out that fixed a bug with > > the datetime field? I'm getting times with dashes in the milliseconds > > (i.e.: 12:01:00.10-04 or something like that). > > I placed a patch on the mailing list a few days ago, which fixes the > problem, hope this helps. > > Michael Stephenson > > *** src/interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java Fri May 12 > 20:54:22 2000 > --- src/interfaces/jdbc/org/postgresql/jdbc2/ResultSetPatch.java > Mon Sep 25 15:36:46 2000 > *************** > *** 439,445 **** > if(s==null) > return null; > > ! SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd > HH:mm:sszzz"); > > try { > return new Timestamp(df.parse(s).getTime()); > --- 439,456 ---- > if(s==null) > return null; > > ! SimpleDateFormat df = null; > ! if (s.length()>21 && s.indexOf('.') != -1) { > ! df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSzzz"); > ! } else if (s.length()>19 && s.indexOf('.') == -1) { > ! df = new SimpleDateFormat("yyyy-MM-dd HH:MM:sszzz"); > ! } else if (s.length()>19 && s.indexOf('.') != -1) { > ! df = new SimpleDateFormat("yyyy-MM-dd HH:MM:ss.SS"); > ! } else if (s.length()>10 && s.length()<=18) { > ! df = new SimpleDateFormat("yyyy-MM-dd HH:MM:ss"); > ! } else { > ! df = new SimpleDateFormat("yyyy-MM-dd"); > ! } > > try { > return new Timestamp(df.parse(s).getTime());