Although one can never be sure of what will happen at some future time, there is strong historical precedent for presuming that the present Gregorian calendar will still be in affect by the year 2000. Since we also hope that c-client will still be around by then, we have chosen to adhere to these precedents.
The purpose of a calendar is to reckon time in advance, to show how many days have to elapse until a certain event takes place in the future, such as the harvest or the release of a new version of Pine. The earliest calendars, naturally, were crude and tended to be based upon the seasons or the lunar cycle.
The calendar of the Assyrians, for example, was based upon the phases of the moon. They knew that a lunation (the time from one full moon to the next) was 29 1/2 days long, so their lunar year had a duration of 354 days. This fell short of the solar year by about 11 days. (The exact time for the solar year is approximately 365 days, 5 hours, 48 minutes, and 46 seconds.) After 3 years, such a lunar calendar would be off by a whole month, so the Assyrians added an extra month from time to time to keep their calendar in synchronization with the seasons.
The best approximation that was possible in antiquity was a 19-year period, with 7 of these 19 years having 13 months (leap months). This scheme was adopted as the basis for the religious calendar used by the Jews. (The Arabs also used this calendar until Mohammed forbade shifting from 12 months to 13 months.)
When Rome emerged as a world power, the difficulties of making a calendar were well known, but the Romans complicated their lives because of their superstition that even numbers were unlucky. Hence their months were 29 or 31 days long, with the exception of February, which had 28 days. Every second year, the Roman calendar included an extra month called Mercedonius of 22 or 23 days to keep up with the solar year.
Even this algorithm was very poor, so that in 45 BC, Caesar, advised by the astronomer Sosigenes, ordered a sweeping reform. By imperial decree, one year was made 445 days long to bring the calendar back in step with the seasons. The new calendar, similar to the one we now use, was called the Julian calendar (named after Julius Caesar). Its months were 30 or 31 days in length, and every fourth year was made a leap year (having 366 days). Caesar also decreed that the year would start with the first of January, not the vernal equinox in late March. (In fact, the leap year was not correctly inserted into the calendar until 8 AD.)
Caesar's year was 11 1/2 minutes short of the calculations recommended by Sosigenes and eventually the date of the vernal equinox began to drift. Roger Bacon became alarmed and sent a note to Pope Clement IV, who apparently was not impressed. Pope Sixtus IV later became convinced that another reform was needed and called the German astronomer, Regiomontanus, to Rome to advise him. Unfortunately, Regiomontanus died of the plague shortly thereafter and the plans died as well.
The problem was that the Julian leap-year rule created 3 leap years too many in every period of 385 years. As a result, the actual occurrence of the equinoxes and solstices slowly moved away from their calendar dates. The date of the spring equinox determines the date of Easter so the church began to press for reform.
Finally, in 1545, the Council of Trent authorized Pope Gregory XIII to reform the calendar once more. Most of the mathematical work was done by Father Christopher Clavius, S.J. (shown above). By this time, since the the last major calendar revision at the Nicene Council in A.D. 325, an error of 10 days had accumulated. Clavius's proposal was that Wednesday, Oct. 4, 1582 (old style) should be followed by Thursday, Oct. 15, 1582 (new style). This was difficult for many people to accept. The citizens of Frankfurt rioted against the Pope and mathematicians who, they believed, had conspired together to rob them of 10 days. Clavius also, along with Vatican librarian Aloysius Giglio, proposed that leap years occur in years exactly divisible by four, except that years ending in 00 must be divisible by 400 to be leap years. Thus 1700, 1800 and 1900 would not be leap years, but 2000 would be a leap year since 2000 is evenly divisible by 400. This rule eliminated 3 leap years every 4 centuries, making the calendar sufficiently correct for most ordinary purposes. This calendar is now known as the Gregorian calendar and is the one used today.
Spain, Portugal, and the Italian states adopted this calendar in 1582; the German Catholic states the next year. The issue, though, was hardly resolved. Fr. Clavius wrote Novi Calendarii Romani Apologia in 1595 to convince the laggards of the merits of his system. All of the European Protestant princes ignored the 1582 papal decree, and many continued to use the Julian calendar until 1698. Great Britain and its American colonies, even more fearful of Popish conspiracies, did not adopt the new calendar until 1750. However, by this time, an additional day's error had crept into the calendar, requiring that September 14, 1752 follow September 2, 1752. Sweden accepted the calendar in 1753, Japan in 1873; China in 1912. In Russia, it needed the overthrow of a monarch to introduce the Gregorian calendar in 1918. Greece was the final country to acknowledge what the rest of the world had long accepted, waiting until 1923 to change to the Gregorian calendar.
This explains why c-client chooses to treat the year 2000 as a leap year.
Despite the great accuracy of the Gregorian calendar, it still falls behind very slightly every few years. The most serious problem is that the earth's rotation is slowing gradually. If you are very concerned about this problem, we suggest that you tune in short wave radio station WWV or the Global Positioning System, which broadcasts official time signals for use in the United States. About once every 3 years, they declare a leap second at which time you should be careful to adjust your system clock. If you have trouble picking up their signals, we suggest you purchase an atomic clock (not part of the IMAP toolkit).
Another problem is that the Gregorian calendar represents a year of 365.2425 days, whereas the actual time taken for the earth to rotate around the Sun is 365.2422 days. Thus, the Gregorian calendar is actually 25.92 seconds fast each year, resulting in the calendar being one day fast every 3,333 1/3 years.
Consequently, the Gregorian calendar has been modified with a further rule, which is that years evenly divisible by 4000 are not leap years. Thus, the year 4000 will not be a leap year.
There is code in c-client to support the modified Gregorian calendar, although it is currently disabled. Sometime in the next 2000 years, someone will need to re-enable this code so that c-client does the right thing in the year 4000.
The modified Gregorian calendar represents a year of 365.24225 days. Thus, the modified Gregorian calendar is actually 4.32 seconds fast each year, resulting in the calendar being one day fast every 20,000 years.
The Eastern Orthodox church in 1923 established its own rules to correct the Julian calendar. In their calendar, century years modulo 900 must result in value of 200 or 600 to be considered a leap year. Both the Orthodox and Gregorian calendar agree that the years 2000 and 2400 will be leap years, and the years 1900, 2100, 2200, 2300, 2500, 2600, 2700 are not. However, the year 2800 will be a leap year in the Gregorian calendar but not in the Orthodox calendar; similarly, the year 2900 will be a leap year in the Orthodox calendar but not in the Gregorian calendar. Both calendars will agree that 3000 and 3100 are leap years, but will disagree again in 3200 and 3300.
There is code in c-client to support the Orthodox calendar. It can be enabled by adding -DUSEORTHODOXCALENDAR=1 to the c-client CFLAGS, e.g.
make xxx EXTRACFLAGS="-DUSEORTHODOXCALENDAR=1"The Orthodox calendar represents a year of 365.24222222... days. Thus, the Orthodox calendar is actually 1.91 seconds fast each year, resulting in the calendar being one day fast every 45,000 years.
The original version is from an old Digital Equipment Corporation SPR answer for VMS. Modifications for c-client, and information about the updated Gregorian and Orthodox calendars added by Mark Crispin.
For a wonderful description of calendars and time measurement, go to: http://webexhibits.org/calendars/index.html