Thread: BUG #12754: The 'OF' template pattern of to_char() print incorrect results with negative offsets with minutes

The following bug has been logged on the website:

Bug reference:      12754
Logged by:          David Pozsar
Email address:      david.pozsar@gmail.com
PostgreSQL version: 9.4.0
Operating system:   Windows 7
Description:

If the current time-zone has minutes and is negative, to_char('OF') prints a
negative sign before the minute part too.

Code, to reproduce:

set time zone interval '-02:30';
-- or: set timezone to -2.5;
select ts::text, to_char(ts, 'YYYY-MM-DD HH24:MI:SSOF')
from (values (timestamptz '2015-02-10 07:05:15+00')) v(ts);

Output:

            ts             |          to_char
---------------------------+----------------------------
 2015-02-10 04:35:15-02:30 | 2015-02-10 04:35:15-02:-30

Expected output:

            ts             |         to_char
---------------------------+---------------------------
 2015-02-10 04:35:15-02:30 | 2015-02-10 04:35:15-02:30
On Tue, Feb 10, 2015 at 09:56:58AM +0000, david.pozsar@gmail.com wrote:
> The following bug has been logged on the website:
>
> Bug reference:      12754
> Logged by:          David Pozsar
> Email address:      david.pozsar@gmail.com
> PostgreSQL version: 9.4.0
> Operating system:   Windows 7
> Description:
>
> If the current time-zone has minutes and is negative, to_char('OF') prints a
> negative sign before the minute part too.
>
> Code, to reproduce:
>
> set time zone interval '-02:30';
> -- or: set timezone to -2.5;
> select ts::text, to_char(ts, 'YYYY-MM-DD HH24:MI:SSOF')
> from (values (timestamptz '2015-02-10 07:05:15+00')) v(ts);
>
> Output:
>
>             ts             |          to_char
> ---------------------------+----------------------------
>  2015-02-10 04:35:15-02:30 | 2015-02-10 04:35:15-02:-30
>
> Expected output:
>
>             ts             |         to_char
> ---------------------------+---------------------------
>  2015-02-10 04:35:15-02:30 | 2015-02-10 04:35:15-02:30

Attached patch applied.  Thanks for the clear report.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + Everyone has their own god. +

Attachment