Re: to_json(now()) result doesn't have 'T' separator

From: Gavin Flower <GavinFlower(at)archidevsys(dot)co(dot)nz>
To: Joe Van Dyk <joe(at)tanga(dot)com>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: to_json(now()) result doesn't have 'T' separator
Date: 2013-12-21 02:42:28
Message-ID: 52B50014.8030106@archidevsys.co.nz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 21/12/13 15:27, Joe Van Dyk wrote:
> On Fri, Dec 20, 2013 at 4:24 PM, Joe Van Dyk <joe(at)tanga(dot)com
> <mailto:joe(at)tanga(dot)com>> wrote:
>
>
>
> On Fri, Dec 20, 2013 at 4:18 PM, Joe Van Dyk <joe(at)tanga(dot)com
> <mailto:joe(at)tanga(dot)com>> wrote:
>
> # select to_json(now());
> to_json
> ---------------------------------
> "2013-12-20 15:53:39.098204-08"
> (1 row)
>
> I'd like to see it output "2013-12-20T15:53:39.098204-08" so
> it's interchangeable with more systems.
>
>
> Actually, "2013-12-20T15:53:39.44553-08:00" would be ideal.
>
>
> I dug into the docs some more, and I found this at
> http://www.postgresql.org/docs/9.3/static/datatype-datetime.html:
> "Note: ISO 8601 specifies the use of uppercase letter T to separate
> the date and time.PostgreSQL accepts that format on input, but on
> output it uses a space rather than T, as shown above. This is for
> readability and for consistency with RFC 3339 as well as some other
> database systems."
>
> So I looked up RFC 3339 (http://www.ietf.org/rfc/rfc3339.txt) and
> read: "NOTE: ISO 8601 defines date and time separated by "T".
> Applications using this syntax may choose, for the sake
> of readability, to specify a full-date and full-time separated
> by (say) a space character."
>
> Doesn't seem like including the 'T' separator would be inconsistent
> with RFC 3399?
>
> I'm sending the output of to_json(now()) to web browsers. Most
> browsers aren't able to parse the date strings if they are missing the
> 'T' separator. If datetime strings could include the 'T' time
> separator and the full timezone, that would make generating json that
> worked with web browsers much simpler.
>
> Joe
>
>
>
>
> http://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations
> says 'T' can be omitted "by mutual agreement".
>
> I'm working with javascript/json systems that expect the 'T'
> to be there however, so there's no mutual agreement happening.
>
> Thoughts? I know I can hack around it by specifying my own
> date format, but I'd really like to be able to use row_to_json
> and other functions without specifying custom date formats
> everywhere.
>
> Joe
>
>
>
Should there be a boolean option "isTeaTime" - for inserting a "T' in
the output?

Cheers,
Gavin

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Thom Brown 2013-12-23 00:51:07 Unix domain socket inconsistency
Previous Message wd 2013-12-21 02:35:20 Re: unexpected pageaddr error in db log