7.18. Working with Specific Dates (Pre-epoch)
The standard library Date provides a class of the same name for working with dates that precede midnight GMT, January 1, 1970.
Although there is some overlap in functionality with the Time class, there are significant differences. Most notably, the Date class does not handle the time of day at all. Its resolution is a single day. Also, the Date class performs more rigorous error-checking than the Time class; if you attempt to refer to a date such as June 31 (or even February 29 in a non-leap year) you will get an error. The code is smart enough to know the different cutoff dates for Italy and England switching to the Gregorian calendar (in 1582 and 1752, respectively), and it can detect "nonexistent" dates that are a result of this switchover. This standard library is a tangle of interesting and arcane code. We do not have space to document it further here.