Re:Re: setting the timezone parameter with space cause diff result

From: 甄明洋 <zhenmingyang(at)yeah(dot)net>
To: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re:Re: setting the timezone parameter with space cause diff result
Date: 2021-06-09 02:27:26
Message-ID: 6229140a.5c5.179ee988fce.Coremail.zhenmingyang@yeah.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Thank you very much for your reply, i'am clear now.
Here is an example, which seems to be a problem of parsing, if format string with FF and TZH:TZM, but the datetime string without fractional seconds will cause parsing misalignment,example:

postgres=# set timezone='-04:00';
SET
postgres=#

/* datetime string with fractional second */
postgres=# select to_timestamp('2021-6-9 10:30:30.369 +04:00', 'YYYY-MM-DD HH24:MI:SS.FF3 TZH:TZM');
to_timestamp
----------------------------
2021-06-09 10:30:30.369+04
(1 row)
postgres=#

/* datetime string without fractional second */
postgres=# select to_timestamp('2021-6-9 10:30:30 +04:00', 'YYYY-MM-DD HH24:MI:SS.FF3 TZH:TZM');
to_timestamp
---------------------------
2021-06-09 14:30:30.04+04
(1 row)
postgres=#

At 2021-06-09 02:02:50, "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>=?UTF-8?B?55SE5piO5rSL?= <zhenmingyang(at)yeah(dot)net> writes:
>> /* timezone string with space */
>> postgres=# set timezone=' +04:00 ';
>> SET
>> postgres=# select now();
>> now
>> -------------------------------
>> 2021-06-08 05:14:36.486693-03
>> (1 row)
>
>What is happening here is that the setting is being interpreted
>much like 'X+04:00Y'. That is, it's taken as a POSIX timezone
>specifier with standard-time abbreviation being ' ', daylight-
>savings abbreviation also being ' ', and the daylight-savings
>offset and transition rules all being defaulted. Your example
>without any spaces is recognized as a POSIX timezone spec
>with no DST part, so that's why it behaves differently.
>
>There's certainly room to quibble about whether a single space
>ought to be considered a valid zone abbreviation. However,
>this behavior comes directly from the IANA tzcode library,
>so I'm hesitant to change it.
>
> regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message David G. Johnston 2021-06-09 02:46:18 Re: setting the timezone parameter with space cause diff result
Previous Message Tom Lane 2021-06-08 20:47:42 Re: Problem with the Polish language