Re: Strange behaviour of rs.getTimestamp

Поиск
Список
Период
Сортировка
От Altaf Malik
Тема Re: Strange behaviour of rs.getTimestamp
Дата
Msg-id 948897.28558.qm@web110410.mail.gq1.yahoo.com
обсуждение исходный текст
Ответ на Re: Strange behaviour of rs.getTimestamp  ("Kevin Grittner" <Kevin.Grittner@wicourts.gov>)
Ответы Re: Strange behaviour of rs.getTimestamp
Список pgsql-jdbc
Here is the output of the program run. I also included user.timezone

Sun Microsystems Inc.
1.6.0_21
Java HotSpot(TM) 64-Bit Server VM
mixed mode
TimeZone:Asia/Karachi
2009-04-15 00:00:00->2009-04-15 01:00:00.0

I am using UBUNTU 10.10 64 bit.
I don't see this behaviour with other timezones. For example, I set my TZ to PST, GMT and the values were correct.

I debugged little further and found that the value is changed in the following code:

    Calendar c = new GregorianCalendar();
        c.set(Calendar.ERA,          1);
        c.set(Calendar.YEAR,         2009);
        c.set(Calendar.MONTH,        4-1);
        c.set(Calendar.DAY_OF_MONTH, 15);
        c.set(Calendar.HOUR_OF_DAY,  0);
        c.set(Calendar.MINUTE,       0);
        c.set(Calendar.SECOND,       0);
        c.set(Calendar.MILLISECOND,  0);
        Timestamp ts = new Timestamp(c.getTime().getTime());

In the specific scenario, if you print ts, it shows hour value as 1 only on this specific date. So obviously, something seems wrong with JDK or my timezone data.
My point is, that when we don't want the value interpreted in different timezones (we are using timestamp and not timestamp with timezone), we should not  use Calander to convert value to a timestamp when we exactly have year,month,day,hour,minute and second values.

-- Altaf Malik


From: Kevin Grittner <Kevin.Grittner@wicourts.gov>
To: Altaf Malik <mmalik_altaf@yahoo.com>
Cc: Samuel Gendler <sgendler@ideasculptor.com>; pgsql-jdbc@postgresql.org
Sent: Fri, January 7, 2011 2:00:55 AM
Subject: Re: [JDBC] Strange behaviour of rs.getTimestamp

Samuel Gendler <sgendler@ideasculptor.com> wrote:

> It might also be potentially revealing if you print out the
> default timezone and locale for the jvm in question as well.

Good point.  In addition to the system properties printed from what
I posted, please include the "user.timezone" system property.

-Kevin

--
Sent via pgsql-jdbc mailing list (pgsql-jdbc@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-jdbc

В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Marc
Дата:
Сообщение: Re: text type handling
Следующее
От: Radosław Smogura
Дата:
Сообщение: Re: Strange behaviour of rs.getTimestamp