A very interesting thing I came across recently while learning Unix is an apparent gap in the calendar for Sep 1752. Here is how the `cal` output for this month appears on a Unix or Linux system:

    $ cal 9 1752
       September 1752
    Su Mo Tu We Th Fr Sa
           1  2 14 15 16
    17 18 19 20 21 22 23
    24 25 26 27 28 29 30

In the SunOS 5.9 manual page for cal(1), this gap is explained as follows:

> An unusual calendar is printed for September 1752. That is the month 11 days were skipped to make up for lack of leap year adjustments. To see this calendar, type: `cal 9 1752`

Similarly, FreeBSD 5.0 has the following note in its manual page for cal(1):

> -s country_code

> Assume the switch from Julian to Gregorian Calendar at the date associated with the country_code. If not specified, ncal tries to guess the switch date from the local environment or falls back to September 2, 1752. This was when Great Britain and her colonies switched to the Gregorian Calendar.

On investigating this switch from Julian to Gregorian calendar, I learnt that the Julian calendar was introduced by Julius Caesar in 46 BC and it remained in effect across most of the Western world from 45 BC to 1582. It assumed an average year to be 365.25 days long. However, the actual solar year has been known to be around 365.2422 days since the 17th century. Although the difference appears to be too small, it leads to an error of adding 1 extra day every 128 years. To reduce this error, the Gregorian calendar was introduced in October 1582 by Pope Gregory XIII. It assumed an average year to be 365.2425 days long.

The new calendar was adopted in some European countries where 4 Oct 1582 was followed by 15 Oct 1582 thereby skipping 10 days in between. However, it took as long as September 1752 for the new calendar to be adopted by Britain. In Great Britain and the British Empire, 2 Sep 1752 was followed by 14 Sep 1752 and that is the gap of 11 days we see in the `cal 9 1752` output.