A union type that supports the following ISO 8601 structures listed below. Note that these have been limited to help support clear understanding between users. DDI uses demarcated strings (i.e. YYYY-MM-DD rather than YYYYMMDD) to avoid confusion. Note that although duration and time interval are allowed there are few situations where they are applicable. This is a datatype object which intrinsically holds a string value, the content of which is the date or time. The type of date, part date, time or period of the object is to be derived from its structure which will match one of the regular expressions provided in the Pattern. The purpose of having a single object which allows for different date time combinations is to provide a simple and convenient mechanism to specify different date and time values with a machine actionable format specified by regular expressions.

  • date-time, (YYYY-MM-DDThh:mm:ss)
  • date-time with time zone, (YYYY-MM-DDThh:mm:ssZ or YYYY-MM-DDThh:mm:ss[+-]hh:mm)
  • date, (YYYYY-MM-DD)
  • year-month, (YYYY-MM)
  • year, (YYYY)
  • duration, (PnYnMnDnHnMnS)
  • time interval, (YYYY-MM-DDThh:mm:ss/YYYY-MM-DDThh:mm:ss or YYYY-MM-DDThh:mm:ss/PnYnMnDTnHnMnS or PnYnMnDTnHnMnS/YYYY-MM-DDThh:mm:ss)
  • week dates, (YYYY-Www or YYYY-Www-D)
  • ordinal dates, (YYYY-DDD)

Use IsoDate as a datatype ONLY when a single date that MUST be in ISO 8601 format is required, else use Date.



29 hours are allowed by this regex for now, to be refined later