T is a mandatory date time separator in RFC3339 but documentation states differently
От | PG Doc comments form |
---|---|
Тема | T is a mandatory date time separator in RFC3339 but documentation states differently |
Дата | |
Msg-id | 169974270449.398198.1438250797414790599@wrigleys.postgresql.org обсуждение исходный текст |
Ответы |
Re: T is a mandatory date time separator in RFC3339 but documentation states differently
|
Список | pgsql-docs |
The following documentation comment has been logged on the website: Page: https://www.postgresql.org/docs/16/git.html Description: >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. https://www.postgresql.org/docs/current/datatype-datetime.html Short answer: T (or t as discouraged alternative). After reading on this as much as I could, it turns out the time separator must be a T or t. What has made think this way is first of all this thread in the GNU lists where F. Alexander Njemz contacted the authors of RFC3339 Graham Klyne and Chris Newman asking if T is mandatory and got this response from Mr. Klyne: > In short: "yes" > > Per section 5.5, the intent in this draft was to specify a timestamp format using elements from and compatible with 8601, but eliminating as far as reasonable any variations that could make timestamp data harder to process. This includes making the 'T' mandatory in date+time values. Just for clarity's sake, this is stated in the section 5.5: > Simplicity is achieved by making most fields and punctuation mandatory. This clearly clashes with a non-mandatory T and strongly makes me think that the this syntax in that problematic passage refers to ISO8601 and not RFC3339. https://stackoverflow.com/questions/63783868/what-are-valid-date-time-separators-in-rfc3339-strings/63882162#63882162
В списке pgsql-docs по дате отправления: