Prior to 1582, every year divisible by 4 was a leap year. Since a year contains only 365.242199 days (slightly less than 365.25 days), an error of ten days accumulated over the centuries. To compensate for this error, Pope Gregory XIII (after whom the Gregorian Calendar is named) decreed that the ten days between October 5, 1582 and October 14, 1582 would be eliminated from the calendar. Italy, Spain, and Portugal adopted the Gregorian calendar in October, 1582 as decreed; however, other countries did not adopt this calendar until later. This made October 1582 the shortest month, with only 21 days. After 1582, years divisible by 100 are not leap years unless they are also divisible by 400. Thus, 1900 is not a leap year, but 2000 is.
The Gregorian Calendar is a vast improvement over the Julian Calendar, which was used previously, but still not perfect. Note that the Gregorian Calendar made a correction of 10 days in 1582. However, there were 12 leap years (100, 200, 300, 500, 600, 700, 900, 1000, 1100, 1300, 1400, and 1500) between 1 and 1582 that would not have been leap years had the Gregorian Calendar been in effect. This is a difference of 2 days (between the 12 leap years and the 10 day correction) over a period of 1582 years.
In fact, correcting for the extra 0.242199 days each year requires 96.8796 days (400 x 0.242199) every 400 years. The Gregorian Calendar provides for a correction of 97 days (97 leap years) every 400 years. This is an overcorrection of 0.1204 days every 400 years, or approximately 1 extra leap year every 3322 years.
A modern refinement is that years divisible by 4000 are not leap years. This reduces the error to approximately 1 day every 20,000 years, or one half day through the maximum date (9999) supported by this program.
Although the Gregorian Calendar was adopted in 1582 in Italy, the new calendar was not adopted in England until September 1752.
By this time, another day of error (leap year, 1700) had accumulated, causing the calendars to be 11 days out of synch.
Correcting this error required eliminating 11 days from September in 1752, resulting in a month that was only 19 days long.
As any serious student of history is aware, authoritative information about historical events is sometimes difficult to obtain. In particular, the dates of adoption of the Gregorian Calendar in different locales are based upon the information that the author was able to obtain from the available References.
The fact that the authority in a particular locale decreed that the Gregorian calendar was to be adopted on a particular date is no guarantee that was aware of or complied with this decree. Therefore, historical dates are only as trustworthy as the person responsible for reporting them. It is possible that Gregorian dates were used in some locales prior to their official adoption; or that Julian dates were used in some locales even after the official switch to the Gregorian calendar. Some other sources of ambiguity:
Each user of the Calendar Calculator is ultimately responsible for evaluating the reliability of the results.
About the Calendar Calculator
The original Perpetual Calendar was written in Java in March, 1996 and is still available at Perpetual Calendar.
Sun has promoted Java as Write once, run anywhere.
The fact that this program behaved differently in different browsers, does not even function in some browsers, and will no longer compile using the most recent compiler has failed to win me over as a Java convert.
I subsequently implemented a Perpetual Calendar written in C to provide a more robust solution.
This new Calendar Calculator added several new functions, including the ability to view an entire year at a time,
the ability to calculate the difference (number of days or weeks or years, months, and days) between two dates,
the ability to calculate a date some number of days or weeks or years, months, and days before or after another date, and the ability to convert a date from one locale to another.