Why not ISO 8601 format for date values rendered into JSON?

Started by Tom Laneover 11 years ago5 messages
#1Tom Lane
tgl@sss.pgh.pa.us

I was just going over the release notes, and noticed the bit about
timestamp and timestamptz now being rendered in a fixed ISO-8601-compliant
format rather than whatever random DateStyle is in use. That's fine,
but I wonder why the same approach wasn't applied to type date?

regression=# set datestyle to postgres;
SET

regression=# select row_to_json(row(now()));
row_to_json
-------------------------------------------
{"f1":"2014-08-17T20:34:54.424237-04:00"}
(1 row)

regression=# select row_to_json(row(current_date));
row_to_json
---------------------
{"f1":"08-17-2014"}
(1 row)

Doesn't seem real consistent ...

regards, tom lane

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#2Andrew Dunstan
andrew@dunslane.net
In reply to: Tom Lane (#1)
Re: Why not ISO 8601 format for date values rendered into JSON?

On 08/17/2014 08:42 PM, Tom Lane wrote:

I was just going over the release notes, and noticed the bit about
timestamp and timestamptz now being rendered in a fixed ISO-8601-compliant
format rather than whatever random DateStyle is in use. That's fine,
but I wonder why the same approach wasn't applied to type date?

regression=# set datestyle to postgres;
SET

regression=# select row_to_json(row(now()));
row_to_json
-------------------------------------------
{"f1":"2014-08-17T20:34:54.424237-04:00"}
(1 row)

regression=# select row_to_json(row(current_date));
row_to_json
---------------------
{"f1":"08-17-2014"}
(1 row)

Doesn't seem real consistent ...

Good point. Probably because I didn't get a complaint about it, which in
turn is probably because JavaScript's builtin Date class is in fact
(from our POV) more or less a timestamp(tz) type.

See
<https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date&gt;

But yes, I agree it should be fixed. Whatever we output should be
suitable as input for the string-argument constructor of class Date.

cheers

andrew

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Andrew Dunstan (#2)
Re: Why not ISO 8601 format for date values rendered into JSON?

Andrew Dunstan <andrew@dunslane.net> writes:

On 08/17/2014 08:42 PM, Tom Lane wrote:

I was just going over the release notes, and noticed the bit about
timestamp and timestamptz now being rendered in a fixed ISO-8601-compliant
format rather than whatever random DateStyle is in use. That's fine,
but I wonder why the same approach wasn't applied to type date?

But yes, I agree it should be fixed. Whatever we output should be
suitable as input for the string-argument constructor of class Date.

OK. I think I can fix it, if you don't have time.

regards, tom lane

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#4Andrew Dunstan
andrew@dunslane.net
In reply to: Tom Lane (#3)
Re: Why not ISO 8601 format for date values rendered into JSON?

On 08/17/2014 09:53 PM, Tom Lane wrote:

OK. I think I can fix it, if you don't have time.

[offlist]

Thanks. FYI I am still recovering from treatment for prostate cancer I
had not long after pgcon ... it's taken more out of me that I expected,
so time is limited.

cheers

andrew

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#5Andrew Dunstan
andrew@dunslane.net
In reply to: Andrew Dunstan (#4)
Re: Why not ISO 8601 format for date values rendered into JSON?

On 08/17/2014 10:50 PM, Andrew Dunstan wrote:

On 08/17/2014 09:53 PM, Tom Lane wrote:

OK. I think I can fix it, if you don't have time.

[offlist]

Thanks. FYI I am still recovering from treatment for prostate cancer I
had not long after pgcon ... it's taken more out of me that I
expected, so time is limited.

Darn it. well, I guess everyone knows now. *sigh*

cheers

andrew

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers