Re: Java 8 OffsetDateTime clarification

From: David Wall <d(dot)wall(at)computer(dot)org>
To: pgsql-jdbc(at)lists(dot)postgresql(dot)org
Subject: Re: Java 8 OffsetDateTime clarification
Date: 2019-05-07 16:03:05
Message-ID: 6a7bfc0f-a0d4-b2f1-036c-cdbcbe6ff284@computer.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

On 5/6/19 11:11 PM, Thomas Kellerer wrote:
> David Wall schrieb am 07.05.2019 um 04:31:
>> This seems incorrect to me.
>> The backend, when using TIMESTAMP WITH TIME ZONE, stores the
>> date+time+tzoffset
> No, it does not.
>
>  From https://www.postgresql.org/docs/current/datatype-datetime.html
>
>> For timestamp with time zone, the internally stored value is always
>> in UTC (Universal Coordinated Time, traditionally known as Greenwich
>> Mean Time, GMT). An input value that has an explicit time zone
>> specified is converted to UTC using the appropriate offset for that
>> time zone. If no time zone is stated in the input string, then it is
>> assumed to be in the time zone indicated by the system's TimeZone
>> parameter, and is converted to UTC using the offset for the timezone
>> zone.
>>
>> When a timestamp with time zone value is output, it is always
>> converted from UTC to the current timezone zone, and displayed as
>> local time in that zone

Okay, yes, that's true.  I shouldn't have used "store" as in what's
written to disk as that's not of interest to most users of a DB, other
then we expect to be able to order them in a meaningful way.

What I meant is that if we present it a date+time+tzoffset to JDBC, it
stores the correct date and time in the DB, not one off by the specified
tzoffset.

I don't change my OffsetDateTime variables to UTC before giving them to
JDBC, and the timestamps are stored and retrieved as expected.

This challenges the notion that "Also note that all OffsetDateTime
instances will have be in UTC (have offset 0)." is true, or am I just
getting unexpectedly normal results of PG without giving OffsetDateTime
instances in UTC?

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Philippe Marschall 2019-05-10 11:40:12 Re: ResultSet.getObject(..., LocalTime.class) not working with Postgres timetz type
Previous Message Thomas Kellerer 2019-05-07 06:11:03 Re: Java 8 OffsetDateTime clarification