Category | Description | Functions |
Interfaces |
Provide concrete classes for manipulation of dates and times |
- date, time, date_duration, time_duration, date_period, time_period, etc
- support for infinity - positive infinity, negative infinity
- iterators over time and date ranges
- allow date and time implemenations to be separate as much as possible
|
Calculation |
Provide a basis for performing efficient time calculations |
- days between dates
- durations of times
- durations of dates and times together
|
Representation Flexibility |
Provide the maximum possible reusability and flexibility |
- traits based customization of internal
representations for size versus resolution control
- Allowing the use of different epochs and resolution
(eg: seconds versus microseconds, dates starting at the
year 2000 versus dates starting in 1700)
- Options for configuring unique calendar
representations (Gregorian + others)
- the use of Julian Day number and the conversion between this and the Gregorian/Julian calendar date
- Allow for flexible adjustments including
leap seconds
|
Date Calculations |
Provide tools for date calculations |
- provide basis for calculation of complex event specs like holidays
- calendar to calendar conversions
- provide for ability to extend to new calendar systems
|
Time Calculations |
Provide concrete classes for manipulation of time |
- provide the ability to handle cross time-zone issues
- provide adjustments for daylight savings time (summer time)
|
Clock Interfaces |
Provide classes for retrieving time current time |
- access to a network / high resolution time sources
- retrieving the current date time information to populate classes
|
I/O Interfaces |
Provide input and output for time including |
- multi-lingual support
- provide ISO8601 compliant time facet
- use I/O facets for different local behavior
|