I posted this about 2 weeks ago and saw no further follow ups. Is this
timestamp thing not considered a bug? Or am I just doing something wrong?
Thanks,
--Rainer
> -----Original Message-----
> Sorry to reopen this issue but I still think there is a bug
> somewhere,
> perhaps in the JDBC driver. The code and the end of this message
> demonstrates the bug. Basically I write a timestamp to the
> database and then
> read it back and what I write and what I get back are different. I don't
> see how I can progrmatically make this correct in a consistent way without
> knowing the "magic" dates in Postgres. Note that I believe there are more
> than just one magic date. Apparently at ever older date (around
> 10,000 BC I
> believe) the seconds are dropped.
> The output from the code is (the computer's time was 03:23:49):
>
> 1850-Jan-01 03:23:49 JST
> 1850-Jan-01 06:23:49 JST
>
> Thanks,
>
> --Rainer
>
>
> SimpleDateFormat format = new SimpleDateFormat( "yyyy-MMM-dd
> hh:mm:ss zz" );
> Calendar cal = new GregorianCalendar();
> cal.set( 1850, 00, 01 );
> java.util.Date date = cal.getTime();
> System.out.println( format.format( date ) );
> try {
> PreparedStatement ps = con.prepareStatement(
> "update cust_prop_date set value = ? where
> customer_id = 8791"
> );
> ps.setTimestamp( 1, new Timestamp( date.getTime() ) );
> ps.execute();
> ps.close();
>
> ps = con.prepareStatement( "select value from cust_prop_date where
> customer_id=8791" );
> ResultSet rs = ps.executeQuery();
> rs.next();
> date = new java.util.Date( rs.getTimestamp( "value" ).getTime() );
> rs.close();
> ps.close();
> } catch( Exception e ) {
> }
> System.out.println( format.format( date ) );