Date: Sat, 21 Feb 1998 18:12:42 -0700 (MST) Message-Id: <199802220112.SAA24729@kewlaid.highfiber.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: opendos AT delorie DOT com From: raster AT highfiber DOT com (Charles Dye) Subject: Re: Y2K fix Precedence: bulk phil DOT man AT juno DOT com (Phillip A. Lettkeman) writes: >I have a question about this year 2000 fix. Does the kernel recognize >the year 2000 as a leap year? If it does then you've got one more thing >to fix. 2000 will be a leap year. Enjoy it -- a leap day in a year ending in 00 is a rare occurrence in the Gregorian calendar, happening only once every four hundred years. Such a leap day will always fall on a Tuesday (left as an exercise.) Microsoft picked a clever date range for MS-DOS. By limiting DOS to the years 1980 through 2099, they allowed DOS to treat the Gregorian calendar (which we use) like the much simpler Julian calendar. Within the range Microsoft chose, you can determine whether a year is leap simply by testing the lowest two bits. If they had extended the range to the year 2100 or beyond, the calculation would have to be more complicated. A good all-around guide to the Julian, Gregorian, and even messier systems: ftp.simtel.net/pub/simtelnet/msdos/info/calfaq.zip raster AT highfiber DOT com