Samuel,
Clock and Calendar References http://en.wikipedia.org/wiki/Gregorian_calendar http://wikipedia.org/wiki/Time_formatting_and_storage_bugs http://www.ismosys.com/downloads/general/Dates%20potentially%20causing%20computer%20problems.pdf CLOCK ROLLOVER DATE ISSUES: Network Time Protocol -- Rollover every 136 years Unsigned 32-bit integer in seconds since epoc: Jan 1, 1900 Rollover Date: Feb 6, 2036 Rollover Date: Feb 5, 2036 -- if 1900/02/29 is taken into account Unix Date Structure (time_t) -- Rollover every 68 years Signed 32-bit integer in seconds since epoc: Jan 1, 1970 Rollover Date: Jan 19, 2038 IBM 370/zSeries Mainframe Clocks -- Rollover every 142 years Signed 64-bit integer in microseconds since Jan 1, 1900 Rollover Date: Sep 17, 2042 at 23:53:47.370496 GREGORIAN CALENDAR NOTES: The Gregorian Calendar accommodates the leap-year 4/100/400 algorithm. This calendar was introduced by Pope Gregory XIII and signed by Roman Catholic decree on Feb 24, 1582 -- known then as the reformed calendar. The Gregorian new year is based on an adjustment of the Julian Calendar that was implemented in year 40 B.C. The Julian Calendar implemented the basic 4-year leap year algorithm. SOFTWARE IMPLEMENTATION NOTES: Some of the operating system date-time functions are not thread-safe. For these functions, you will need some type of mutex (mutual exclusion) in a multi-threaded environment. Some operating systems have thread-safe date-time functions, but their names are not standardized across platforms. System calls suchas mktime() that will convert a struct tm{} structure to be canonical and handle date-range updates, will not work outside the UNIX epoc (1970-1937). ----- Enjoy your research! Steven J. Hathaway Xalan Documentation Project <shatha...@apache.org> --------------------------------------------------------------------- To unsubscribe, e-mail: xalan-dev-unsubscr...@xml.apache.org For additional commands, e-mail: xalan-dev-h...@xml.apache.org