Is Abstract: 
Is Pattern: 

Provides the structure of a single Date expressed in an ISO date structure along with equivalent expression in any number of non-ISO formats. While it supports the use of the ISO time interval structure this should only be used when the exact date is unclear (i.e. occurring at some point in time between the two specified dates) or in specified applications. Ranges with specified start and end dates should use the DateRange as a datatype. Commonly uses property names include: eventDate, issueDate, and releaseDate.

Explanatory Notes: 

Date allows one of a set of date-time (YYYY-MM-DDThh:mm:ss), date (YYYY-MM-DD), year-month (YYYY-MM), year (YYYY), time (hh:mm:ss) and duration (PnYnMnDnHnMnS), or time interval (YYYY-MM-DDThh:mm:ss/YYYY-MM-DDThh:mm:ss, YYYY-MM-DDThh:mm:ss/PnYnMnDnHnMnS, PnYnMnDnHnMnS/ YYYY-MM-DDThh:mm:ss) which is formatted according to ISO 8601 and backed supported by regular expressions in the BaseDateType. Time Zone designation and negative/positive prefixes are allowed as are dates before and after 0000 through 9999.

Strongly recommend that ALL dates be expressed in an ISO format at a minimum. A single point in time expressed in an ISO standard structure. Note that while it supports an ISO date range structure this should be used in Date only when the single date is unclear i.e. occurring at some time between two dates.
A simple date expressed in a non-ISO date format, including a specification of the date format and calendar used.


DDI 3.2: 
Is extendable: 
Is property: 
RDF Mapping: 


Currently Date has information about simple dates, historical dates, startDate, endDate, historicalStartDate, historicalEndDate and cycle. Consider a redesign of this and have a single purpose Date object which just represents a Date, a HistoricalDatePeriod, a DatePeriod and possibly a Cycle. This would make any implementation much cleaner and simpler, it would also allow for very specific typed properties If this approach is taken every use of Date in other objects should be re-checked to make sure it is used properly or whether another datatype may be required.