From: | Robert DiFalco <robert(dot)difalco(at)gmail(dot)com> |
---|---|
To: | Dave Cramer <pg(at)fastcrypt(dot)com> |
Cc: | List <pgsql-jdbc(at)postgresql(dot)org> |
Subject: | Re: Having a hard time understanding time zone |
Date: | 2014-04-06 22:37:56 |
Message-ID: | 1E80E3BD-947B-4598-9587-60BDFEE1CF46@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
Well I feel a little crazy. But this is what I see. I have a timestamp without time zone column with a default value of current_timestamp. In PSQL I can see this value yields a UTC value. But when I insert from JDBC (not setting that column) and then look at the value with PSQL I see a PDT value?! That is my JVM zone. When I get back to the office on Monday I'll try to create a test case.
Justin McCammon
Sent from my iPhone
> On Apr 6, 2014, at 1:45 PM, Dave Cramer <pg(at)fastcrypt(dot)com> wrote:
>
> Robert,
>
> The driver certainly doesn't do anything to a statement like
>
> insert into foo (datecol) values (now())
>
> it does use the calendar of the vm to get the string representation.
>
> Time, and date are two things not very well handled in java or JDBC. What is the exact column type and what does it store in the database
>
> But to answer your question you can do:
>
>
> stmt.setTimestamp(1, t, Calendar.getInstance( TimeZone.getTimeZone("UTC")))
>
> Dave Cramer
>
> dave.cramer(at)credativ(dot)ca
> http://www.credativ.ca
>
>
>> On 6 April 2014 13:56, Robert DiFalco <robert(dot)difalco(at)gmail(dot)com> wrote:
>> Does the JDBC driver set the timezone to the origin timezone for each statement?
>>
>> I have a date column in a table. My Postgres server is running in UTC. My java app is running in "America/Los_Angeles".
>>
>> I would expect a DEFAULT column of NOW() to insert the current UTC time. While if I specify the time with new Date() from Java I would expect the Java timezone.
>>
>> But oddly both set the date field to the localized time in Java and not the UTC time.
>>
>> This makes me think that the driver is somehow forcing the session timezone.
>>
>> If so is there any way to make the driver communicate with the server in UTC?
>>
>> Thanks!
>
From | Date | Subject | |
---|---|---|---|
Next Message | Robert DiFalco | 2014-04-07 18:43:10 | Re: Having a hard time understanding time zone |
Previous Message | David Johnston | 2014-04-06 22:01:10 | Re: Having a hard time understanding time zone |