Time Library Organisation

This is one way the time libraries might be organised. I think the
functionality splits cleanly into two separate modules.
"Time" module (System.Time? System.DateTime.Time?)
* TAI/UTC arithmetic and conversions, leap-second tables
* possibly UT1 types and conversions, Julian days and dates
* getting the current time
"Date" module (System.Date? System.DateTime.Date?) importing Time module
* time zones
* getting the locale time zone
* converting times to "calendrical" format,
Gregorian and possibly also Julian
* calendrical arithmetic
e.g. one month after March 31st
* possibly "incomplete dates"
e.g. "May 1" for all years
* parsing and showing dates and times
Left for other libraries (standard or user)
* sunrise/sunset, moon phase, solstices & equinoxes, etc.
* figuring out time zone from position on Earth
* civil summertime zone adjustment calculation
* calendar systems other than Gregorian and Julian
* generalised sets over time
e.g. "2pm-4pm every 4th Saturday of the month"
--
Ashley Yakeley, Seattle WA