-
-
Notifications
You must be signed in to change notification settings - Fork 82
Description
There are many possible valid ISO date formats. We can add a few more of these also where the dialects have support out-of-the-box, and adjust test response expectations accordingly for each dialect (since many of these tests will fail without EDTF extension support in the database):
1999.008valid year and date in PostgreSQLJ2451187valid Julian date in PostgreSQLJanuary 8, 99 BCvalid year 99 BC in PostgreSQL040506valid ISO 8601 Time input in PostgreSQL040506+07:30:00valid UTF offset specified to seconds (not allowed in ISO 8601) but valid Time input in PostgreSQLinfinityvalid special Date/Time input in PostgreSQL which is internally represented as math ∞ but displayed asinfinity.allballsspecial Date/Time input in PostgreSQL that represents new day in UTC00:00:00.00 UTC- Reduced precision:
2019-12 - Ordinal Date:
2024-336this depends on the installation config of some DB's but it's generally supported. - UTC:
T144515Z
Repeating intervals might also be stored? but I think this is only special DB modes and like T-SQL.
R5/2008-03-01T13:00:00Z/P1Y2M10DT2H30MP1Y2M10DT2H30Ma valid interval in PostgreSQL and others support intervals-
time,timestamp, andintervalaccept an optional precision value p which specifies the number of fractional digits retained in the seconds field. By default, there is no explicit bound on precision. The allowed range of p is from 0 to 6.
-
These are Extended Date Time Formats, but most are not supported in regular modes with the dialects
1964/2008is a time interval with calendar year precision, beginning sometime in 1964 and ending sometime in 2008.Y-170000002is the year-1700000022001-21is Spring, 2001 (values of 21,22,23,24 signify 'Spring', 'Summer', 'Autumn', 'Winter' and found sometimes in edge network monitoring stations and scientific datasets.2004-06-11%is a year-month-date with uncertainty and approximation.1988/..open end time interval starting at year 1985 with year precision and open ending./1988unknown start and ending year 1985.1950S2represents some year between 1900 and 1999, estimated to be 1950156X-12-25December 25 sometime during the 1560s.
ERRORS:
-1985 ISO 8601 Part 1 does not support negative years.
Originally posted by @thadguidry in #825 (comment)