Recent from talks
Nothing was collected or created yet.
Doomsday rule
View on Wikipedia

The Doomsday rule, Doomsday algorithm or Doomsday method is an algorithm of determination of the day of the week for a given date. It provides a perpetual calendar because the Gregorian calendar moves in cycles of 400 years. The algorithm for mental calculation was devised by John Conway in 1973,[1][2] drawing inspiration from Lewis Carroll's perpetual calendar algorithm.[3][4][5] It takes advantage of each year having a certain day of the week upon which certain easy-to-remember dates, called the doomsdays, fall; for example, the last day of February, April 4 (4/4), June 6 (6/6), August 8 (8/8), October 10 (10/10), and December 12 (12/12) all occur on the same day of the week in the year.
Applying the Doomsday algorithm involves three steps: determination of the anchor day for the century, calculation of the anchor day for the year from the one for the century, and selection of the closest date out of those that always fall on the doomsday, e.g., 4/4 and 6/6, and count of the number of days (modulo 7) between that date and the date in question to arrive at the day of the week. The technique applies to both the Gregorian calendar and the Julian calendar, although their doomsdays are usually different days of the week.
The algorithm is simple enough that it can be computed mentally. Conway could usually give the correct answer in under two seconds. To improve his speed, he practiced his calendrical calculations on his computer, which was programmed to quiz him with random dates every time he logged on.[6]
Doomsdays for contemporary years
[edit]Doomsday for the current year in the Gregorian calendar (2026) is Saturday. Simple methods for finding the doomsday of a year exist.
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
| 1796 | 1797 | 1798 | 1799 | 1800 | 1801 | |
| 1802 | 1803 | 1804 | 1805 | 1806 | 1807 | |
| 1808 | 1809 | 1810 | 1811 | 1812 | ||
| 1813 | 1814 | 1815 | 1816 | 1817 | 1818 | |
| 1819 | 1820 | 1821 | 1822 | 1823 | ||
| 1824 | 1825 | 1826 | 1827 | 1828 | 1829 | |
| 1830 | 1831 | 1832 | 1833 | 1834 | 1835 | |
| 1836 | 1837 | 1838 | 1839 | 1840 | ||
| 1841 | 1842 | 1843 | 1844 | 1845 | 1846 | |
| 1847 | 1848 | 1849 | 1850 | 1851 | ||
| 1852 | 1853 | 1854 | 1855 | 1856 | 1857 | |
| 1858 | 1859 | 1860 | 1861 | 1862 | 1863 | |
| 1864 | 1865 | 1866 | 1867 | 1868 | ||
| 1869 | 1870 | 1871 | 1872 | 1873 | 1874 | |
| 1875 | 1876 | 1877 | 1878 | 1879 | ||
| 1880 | 1881 | 1882 | 1883 | 1884 | 1885 | |
| 1886 | 1887 | 1888 | 1889 | 1890 | 1891 | |
| 1892 | 1893 | 1894 | 1895 | 1896 | ||
| 1897 | 1898 | 1899 | 1900 | 1901 | 1902 | 1903 |
| 1904 | 1905 | 1906 | 1907 | 1908 | ||
| 1909 | 1910 | 1911 | 1912 | 1913 | 1914 | |
| 1915 | 1916 | 1917 | 1918 | 1919 | ||
| 1920 | 1921 | 1922 | 1923 | 1924 | 1925 | |
| 1926 | 1927 | 1928 | 1929 | 1930 | 1931 | |
| 1932 | 1933 | 1934 | 1935 | 1936 | ||
| 1937 | 1938 | 1939 | 1940 | 1941 | 1942 | |
| 1943 | 1944 | 1945 | 1946 | 1947 | ||
| 1948 | 1949 | 1950 | 1951 | 1952 | 1953 | |
| 1954 | 1955 | 1956 | 1957 | 1958 | 1959 | |
| 1960 | 1961 | 1962 | 1963 | 1964 | ||
| 1965 | 1966 | 1967 | 1968 | 1969 | 1970 | |
| 1971 | 1972 | 1973 | 1974 | 1975 | ||
| 1976 | 1977 | 1978 | 1979 | 1980 | 1981 | |
| 1982 | 1983 | 1984 | 1985 | 1986 | 1987 | |
| 1988 | 1989 | 1990 | 1991 | 1992 | ||
| 1993 | 1994 | 1995 | 1996 | 1997 | 1998 | |
| 1999 | 2000 | 2001 | 2002 | 2003 | ||
| 2004 | 2005 | 2006 | 2007 | 2008 | 2009 | |
| 2010 | 2011 | 2012 | 2013 | 2014 | 2015 | |
| 2016 | 2017 | 2018 | 2019 | 2020 | ||
| 2021 | 2022 | 2023 | 2024 | 2025 | 2026 | |
| 2027 | 2028 | 2029 | 2030 | 2031 | ||
| 2032 | 2033 | 2034 | 2035 | 2036 | 2037 | |
| 2038 | 2039 | 2040 | 2041 | 2042 | 2043 | |
| 2044 | 2045 | 2046 | 2047 | 2048 | ||
| 2049 | 2050 | 2051 | 2052 | 2053 | 2054 | |
| 2055 | 2056 | 2057 | 2058 | 2059 | ||
| 2060 | 2061 | 2062 | 2063 | 2064 | 2065 | |
| 2066 | 2067 | 2068 | 2069 | 2070 | 2071 | |
| 2072 | 2073 | 2074 | 2075 | 2076 | ||
| 2077 | 2078 | 2079 | 2080 | 2081 | 2082 | |
| 2083 | 2084 | 2085 | 2086 | 2087 | ||
| 2088 | 2089 | 2090 | 2091 | 2092 | 2093 | |
| 2094 | 2095 | 2096 | 2097 | 2098 | 2099 | |
| 2100 | 2101 | 2102 | 2103 | 2104 | 2105 |
Finding the day of the week from a year's doomsday
[edit]One can find the day of the week of a given calendar date by using a nearby doomsday as a reference point. To help with this, the following is a list of easy-to-remember dates for each month that always land on the doomsday.
The last day of February is always a doomsday. For January, January 3 is a doomsday during common years and January 4 a doomsday during leap years, which can be remembered as "the 3rd during 3 years in 4, and the 4th in the 4th year". For March, one can remember either Pi Day or "March 0", the latter referring to the day before March 1, i.e. the last day of February.
For the months April through December, the even numbered months are covered by the double dates 4/4, 6/6, 8/8, 10/10, and 12/12, all of which fall on the doomsday. The odd numbered months can be remembered with the mnemonic "I work from 9 to 5 at the 7–11", i.e., 9/5, 7/11, and also 5/9 and 11/7, are all doomsdays (this is true for both the day/month and month/day conventions).[8]
John Conway wrote that: "Summary: 'Last' in Jan and Feb, otherwise nth in even months, (n ± 4) in odd ones".[1] He clarified that: "The sign is + for long odd months (31 days), and − for short ones (30 days)".[1]
Several well-known dates, such as Independence Day in United States, Boxing Day, Halloween and Valentine's Day in common years, also fall on doomsdays every year.
| Month | Memorable date | Month/day | Day/month | Mnemonic[9][8][10] | Complete list of days |
|---|---|---|---|---|---|
| January | January 3 (common years), January 4 (leap years) |
1/3 OR 1/4 (1/31 OR 1/32) | 3/1 OR 4/1 (31/1 OR 32/1) | the 3rd 3 years in 4 and the 4th in the 4th[10] (or: last day of January, pretending leap years have a January 32[8]) | 3, 10, 17, 24, 31 OR 4, 11, 18, 25[8] |
| February | February 28 (common years), February 29 (leap years) | 2/0 OR 2/1 (2/28 OR 2/29) | 0/2 OR 1/2 (28/2 OR 29/2) | last day of January, pretending leap years have a January 32[8] (or: last day of February) | 0, 7, 14, 21, 28 OR 1, 8, 15, 22, 29 |
| March | "March 0," March 14 | 3/0 AND 3/14 | 0/3 AND 14/3 | last day of February, Pi Day | 0, 7, 14, 21, 28 |
| April | April 4 | 4/4 | 4/4, 6/6, 8/8, 10/10, 12/12 | 4, 11, 18, 25 | |
| May | May 9 | 5/9 | 9/5 | 9-to-5 at 7-11 | 2, 9, 16, 23, 30 |
| June | June 6 | 6/6 | 4/4, 6/6, 8/8, 10/10, 12/12 | 6, 13, 20, 27 | |
| July | July 11 | 7/11 | 11/7 | 9-to-5 at 7-11 | 4, 11, 18, 25 |
| August | August 8 | 8/8 | 4/4, 6/6, 8/8, 10/10, 12/12 | 1, 8, 15, 22, 29 | |
| September | September 5 | 9/5 | 5/9 | 9-to-5 at 7-11 | 5, 12, 19, 26 |
| October | October 10 | 10/10 | 4/4, 6/6, 8/8, 10/10, 12/12 | 3, 10, 17, 24, 31 | |
| November | November 7 | 11/7 | 7/11 | 9-to-5 at 7-11 | 7, 14, 21, 28 |
| December | December 12 | 12/12 | 4/4, 6/6, 8/8, 10/10, 12/12 | 5, 12, 19, 26 | |
Since the doomsday for a particular year is directly related to weekdays of dates in the period from March through February of the next year, common years and leap years have to be distinguished for January and February of the same year.
Example
[edit]To find which day of the week Christmas Day of 2027 is, proceed as follows: in the year 2027, doomsday is on Sunday. Since December 12 is a doomsday, December 25, being thirteen days afterwards (two weeks less a day), will fall on a Saturday. Christmas Day is always the day of the week before doomsday. In addition, July 4 (U.S. Independence Day) is always on the same day of the week as a doomsday, as are Halloween (October 31), Pi Day (March 14), and December 26 (Boxing Day).
Mnemonic weekday names
[edit]Since this algorithm involves treating days of the week like numbers modulo 7, John Conway suggested thinking of the days of the week as "Noneday" or "Sansday" (for Sunday), "Oneday", "Twosday", "Treblesday", "Foursday", "Fiveday", and "Six-a-day" to recall the number-weekday relation without needing to count them out in one's head.[11]
| Day of week | Index number |
Mnemonic |
|---|---|---|
| Sunday | 0 | Noneday or Sansday |
| Monday | 1 | Oneday |
| Tuesday | 2 | Twosday |
| Wednesday | 3 | Treblesday |
| Thursday | 4 | Foursday |
| Friday | 5 | Fiveday |
| Saturday | 6 | Six-a-day |
There are some languages, such as Slavic languages, Chinese, Estonian, Greek, Portuguese, Galician and Hebrew, that base some of the names of the week days in their positional order. The Slavic, Chinese, and Estonian agree with the table above; the other languages mentioned count from Sunday as day one.
Finding a year's doomsday
[edit]First take the anchor day for the century. For the purposes of the doomsday rule, a century starts with '00 and ends with '99. The following table shows the anchor day of centuries 1600–1699, 1700–1799, 1800–1899, 1900–1999, 2000–2099, 2100–2199 and 2200–2299.
| Century | Anchor day | Mnemonic | Index (day of week) |
|---|---|---|---|
| 1600–1699 | Tuesday | — | 2 (Twoday) |
| 1700–1799 | Sunday | — | 0 (Noneday) |
| 1800–1899 | Friday | — | 5 (Fiveday) |
| 1900–1999 | Wednesday | We-in-dis-day (most living people were born in that century, see List of countries by median age) |
3 (Treblesday) |
| 2000–2099 | Tuesday | Y-Tue-K or Twos-day (Y2K was at the head of this century) |
2 (Twosday) |
| 2100–2199 | Sunday | Twenty-one-day is Sunday (2100 is the start of the next century) |
0 (Noneday) |
| 2200–2299 | Friday | — | 5 (Fiveday) |
For the Gregorian calendar:
- Mathematical formula
- 5 × (c mod 4) mod 7 + Tuesday = anchor.
- Algorithmic
- Let r = c mod 4
- if r = 0 then anchor = Tuesday
- if r = 1 then anchor = Sunday
- if r = 2 then anchor = Friday
- if r = 3 then anchor = Wednesday.
For the Julian calendar:
- 6c mod 7 + Sunday = anchor.
Note: .
Next, find the year's anchor day. To accomplish that according to Conway:[12]
- Divide the year's last two digits (call this y) by 12 and let a be the floor of the quotient.
- Let b be the remainder of the same quotient.
- Divide that remainder by 4 and let c be the floor of the quotient.
- Let d be the sum of the three numbers (d = a + b + c). (It is again possible here to divide by seven and take the remainder. This number is equivalent, as it must be, to y plus the floor of y divided by four.)
- Count forward the specified number of days (d or the remainder of d/7) from the anchor day to get the year's one.
For the twentieth-century year 1966, for example:
As described in bullet 4, above, this is equivalent to:
So doomsday in 1966 fell on Monday.
Similarly, doomsday in 2005 is on a Monday:
Why it works
[edit]
The doomsday's anchor day calculation is effectively calculating the number of days between any given date in the base year and the same date in the current year, then taking the remainder modulo 7. When both dates come after the leap day (if any), the difference is just 365y + y/4 (rounded down). But 365 equals 52 × 7 + 1, so after taking the remainder we get just
This gives a simpler formula if one is comfortable dividing large values of y by both 4 and 7. For example, we can compute
which gives the same answer as in the example above.
Where 12 comes in is that the pattern of almost repeats every 12 years. After 12 years, we get . If we replace y by y mod 12, we are throwing this extra day away; but adding back in compensates for this error, giving the final formula.
For calculating the Gregorian anchor day of a century: three “common centuries” (each having 24 leap years) are followed by a “leap century” (having 25 leap years). A common century moves the doomsday forward by
days (equivalent to two days back). A leap century moves the doomsday forward by 6 days (equivalent to one day back).
So c centuries move the doomsday forward by
- ,
but this is equivalent to
- .
Four centuries move the doomsday forward by
- ;
so four centuries form a cycle that leaves the doomsday unchanged (and hence the “mod 4” in the century formula).
The "odd + 11" method
[edit]
A simpler method for finding the year's anchor day was discovered in 2010 by Chamberlain Fong and Michael K. Walters.[13] Called the "odd + 11" method, it is equivalent[13] to computing
- .
It is well suited to mental calculation, because it requires no division by 4 (or 12), and the procedure is easy to remember because of its repeated use of the "odd + 11" rule. Furthermore, addition by 11 is very easy to perform mentally in base-10 arithmetic.
Extending this to get the anchor day, the procedure is often described as accumulating a running total T in six steps, as follows:
- Let T be the year's last two digits.
- If T is odd, add 11.
- Now let T = T/2.
- If T is odd, add 11.
- Now let T = 7 − (T mod 7).
- Count forward T days from the century's anchor day to get the year's anchor day.
Applying this method to the year 2005, for example, the steps as outlined would be:
- T = 5
- T = 5 + 11 = 16 (adding 11 because T is odd)
- T = 16/2 = 8
- T = 8 (do nothing since T is even)
- T = 7 − (8 mod 7) = 7 − 1 = 6
- Doomsday for 2005 = 6 + Tuesday = Monday The explicit formula for the odd+11 method is:
- .
Although this expression looks daunting and complicated, it is actually simple[13] because of a common subexpression y + 11(y mod 2)/2 that only needs to be calculated once.
Anytime adding 11 is needed, subtracting 17 yields equivalent results. While subtracting 17 may seem more difficult to mentally perform than adding 11, there are cases where subtracting 17 is easier, especially when the number is a two-digit number that ends in 7 (such as 17, 27, 37, ..., 77, 87, and 97).
Nakai's formula
[edit]Another method for calculating the doomsday was proposed by H. Nakai in 2023.[14]
As above, let the year number n be expressed as , where and represent the century and the last two digits of the year, respectively. If and denote the remainders when and are divided by 4, respectively, then the number representing the day of the week for the doomsday is given by the remainder .
Example
[edit](August 7, 1966) The remainder on dividing by 4 is , which gives ; 10 times is , so doomsday for 1966 is , that is, Monday. The difference between 7 and the doomsday in August (namely 8) is , so the answer is , Sunday.[15]
Correspondence with dominical letter
[edit]Doomsday is related to the dominical letter of the year as follows.
| Doomsday | Dominical letter | |
|---|---|---|
| Common year | Leap year | |
| Sunday | C | DC |
| Monday | B | CB |
| Tuesday | A | BA |
| Wednesday | G | AG |
| Thursday | F | GF |
| Friday | E | FE |
| Saturday | D | ED |
400-year cycle of anchor days
[edit]| Julian centuries | -1600J −900J −200J 500J 1200J 1900J 2600J 3300J |
-1500J −800J −100J 600J 1300J 2000J 2700J 3400J |
-1400J −700J 0J 700J 1400J 2100J 2800J 3500J |
-1300J −600J 100J 800J 1500J 2200J 2900J 3600J |
-1200J −500J 200J 900J 1600J 2300J 3000J 3700J |
-1100J −400J 300J 1000J 1700J 2400J 3100J 3800J |
-1000J −300J 400J 1100J 1800J 2500J 3200J 3900J | |||
|---|---|---|---|---|---|---|---|---|---|---|
Gregorian centuries Years |
-1600 −1200 −800 −400 0 400 800 1200 1600 2000 2400 2800 3200 3600 |
-1500 −1100 −700 −300 100 500 900 1300 1700 2100 2500 2900 3300 3700 |
-1400 −1000 −600 −200 200 600 1000 1400 1800 2200 2600 3000 3400 3800 |
-1300 −900 −500 −100 300 700 1100 1500 1900 2300 2700 3100 3500 3900 | ||||||
| 00 | 28 | 56 | 84 | Tue. | Mon. | Sun. | Sat. | Fri. | Thu. | Wed. |
| 01 | 29 | 57 | 85 | Wed. | Tue. | Mon. | Sun. | Sat. | Fri. | Thu. |
| 02 | 30 | 58 | 86 | Thu. | Wed. | Tue. | Mon. | Sun. | Sat. | Fri. |
| 03 | 31 | 59 | 87 | Fri. | Thu. | Wed. | Tue. | Mon. | Sun. | Sat. |
| 04 | 32 | 60 | 88 | Sun. | Sat. | Fri. | Thu. | Wed. | Tue. | Mon. |
| 05 | 33 | 61 | 89 | Mon. | Sun. | Sat. | Fri. | Thu. | Wed. | Tue. |
| 06 | 34 | 62 | 90 | Tue. | Mon. | Sun. | Sat. | Fri. | Thu. | Wed. |
| 07 | 35 | 63 | 91 | Wed. | Tue. | Mon. | Sun. | Sat. | Fri. | Thu. |
| 08 | 36 | 64 | 92 | Fri. | Thu. | Wed. | Tue. | Mon. | Sun. | Sat. |
| 09 | 37 | 65 | 93 | Sat. | Fri. | Thu. | Wed. | Tue. | Mon. | Sun. |
| 10 | 38 | 66 | 94 | Sun. | Sat. | Fri. | Thu. | Wed. | Tue. | Mon. |
| 11 | 39 | 67 | 95 | Mon. | Sun. | Sat. | Fri. | Thu. | Wed. | Tue. |
| 12 | 40 | 68 | 96 | Wed. | Tue. | Mon. | Sun. | Sat. | Fri. | Thu. |
| 13 | 41 | 69 | 97 | Thu. | Wed. | Tue. | Mon. | Sun. | Sat. | Fri. |
| 14 | 42 | 70 | 98 | Fri. | Thu. | Wed. | Tue. | Mon. | Sun. | Sat. |
| 15 | 43 | 71 | 99 | Sat. | Fri. | Thu. | Wed. | Tue. | Mon. | Sun. |
| 16 | 44 | 72 | Mon. | Sun. | Sat. | Fri. | Thu. | Wed. | Tue. | |
| 17 | 45 | 73 | Tue. | Mon. | Sun. | Sat. | Fri. | Thu. | Wed. | |
| 18 | 46 | 74 | Wed. | Tue. | Mon. | Sun. | Sat. | Fri. | Thu. | |
| 19 | 47 | 75 | Thu. | Wed. | Tue. | Mon. | Sun. | Sat. | Fri. | |
| 20 | 48 | 76 | Sat. | Fri. | Thu. | Wed. | Tue. | Mon. | Sun. | |
| 21 | 49 | 77 | Sun. | Sat. | Fri. | Thu. | Wed. | Tue. | Mon. | |
| 22 | 50 | 78 | Mon. | Sun. | Sat. | Fri. | Thu. | Wed. | Tue. | |
| 23 | 51 | 79 | Tue. | Mon. | Sun. | Sat. | Fri. | Thu. | Wed. | |
| 24 | 52 | 80 | Thu. | Wed. | Tue. | Mon. | Sun. | Sat. | Fri. | |
| 25 | 53 | 81 | Fri. | Thu. | Wed. | Tue. | Mon. | Sun. | Sat. | |
| 26 | 54 | 82 | Sat. | Fri. | Thu. | Wed. | Tue. | Mon. | Sun. | |
| 27 | 55 | 83 | Sun. | Sat. | Fri. | Thu. | Wed. | Tue. | Mon. | |
Since in the Gregorian calendar there are 146,097 days, or exactly 20,871 seven-day weeks, in 400 years, the anchor day repeats every four centuries. For example, the anchor day of 1700–1799 is the same as the anchor day of 2100–2199, i.e. Sunday.
The full 400-year cycle of doomsdays is given in the adjacent table. The centuries are for the Gregorian and proleptic Gregorian calendar, unless marked with a J for Julian. The Gregorian leap years are highlighted.
Negative years use astronomical year numbering. Year 25BC is −24, shown in the column of −100J (proleptic Julian) or −100 (proleptic Gregorian), at the row 76.
| Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Total | |
|---|---|---|---|---|---|---|---|---|
| Non-leap years | 43 | 43 | 43 | 43 | 44 | 43 | 44 | 303 |
| Leap years | 13 | 15 | 13 | 15 | 13 | 14 | 14 | 97 |
| Total | 56 | 58 | 56 | 58 | 57 | 57 | 58 | 400 |
A leap year with Monday as doomsday means that Sunday is one of 97 days skipped in the 400-year sequence. Thus the total number of years with Sunday as doomsday is 71 minus the number of leap years with Monday as doomsday, etc. Since Monday as doomsday is skipped across February 29, 2000, and the pattern of leap days is symmetric about that leap day, the frequencies of doomsdays per weekday (adding common and leap years) are symmetric about Monday. The frequencies of doomsdays of leap years per weekday are symmetric about the doomsday of 2000, Tuesday.
The frequency of a particular date being on a particular weekday can easily be derived from the above (for a date from January 1 – February 28, relate it to the doomsday of the previous year).
For example, February 28 is one day after doomsday of the previous year, so it is 58 times each on Tuesday, Thursday and Sunday, etc. February 29 is doomsday of a leap year, so it is 15 times each on Monday and Wednesday, etc.
28-year cycle
[edit]Regarding the frequency of doomsdays in a Julian 28-year cycle, there are 1 leap year and 3 common years for every weekday, the latter 6, 17 and 23 years after the former (so with intervals of 6, 11, 6, and 5 years; not evenly distributed because after 12 years the day is skipped in the sequence of doomsdays).[citation needed] The same cycle applies for any given date from March 1 falling on a particular weekday.
For any given date up to February 28 falling on a particular weekday, the 3 common years are 5, 11, and 22 years after the leap year, so with intervals of 5, 6, 11, and 6 years. Thus the cycle is the same, but with the 5-year interval after instead of before the leap year.
Thus, for any date except February 29, the intervals between common years falling on a particular weekday are 6, 11, 11. See e.g. at the bottom of the page Common year starting on Monday the years in the range 1906–2091.
For February 29 falling on a particular weekday, there is just one in every 28 years, and it is of course a leap year.
Julian calendar
[edit]The Gregorian calendar is currently accurately lining up with astronomical events such as solstices. In 1582 this modification of the Julian calendar was first instituted. To correct for calendar drift, 10 days were skipped, so doomsday moved back 10 days (i.e. 3 weekdays): Thursday, October 4 (Julian, doomsday is Wednesday) was followed by Friday, October 15 (Gregorian, doomsday is Sunday). The table includes Julian calendar years, but the algorithm is for the Gregorian and proleptic Gregorian calendar only.
Note that the Gregorian calendar was not adopted simultaneously in all countries, so for many centuries, different regions used different dates for the same day.
Full examples
[edit]Example 1 (1985)
[edit]Suppose we want to know the day of the week of September 18, 1985. We begin with the century's anchor day, Wednesday. To this, add a, b, and c above:
- a is the floor of 85/12, which is 7.
- b is 85 mod 12, which is 1.
- c is the floor of b/4, which is 0.
This yields a + b + c = 8. Counting 8 days from Wednesday, we reach Thursday, which is the doomsday in 1985. (Using numbers: In modulo 7 arithmetic, 8 is congruent to 1. Because the century's anchor day is Wednesday (index 3), and 3 + 1 = 4, doomsday in 1985 was Thursday (index 4).) We now compare September 18 to a nearby doomsday, September 5. We see that the 18th is 13 past a doomsday, i.e. one day less than two weeks. Hence, the 18th was a Wednesday (the day preceding Thursday). (Using numbers: In modulo 7 arithmetic, 13 is congruent to 6 or, more succinctly, −1. Thus, we take one away from the doomsday, Thursday, to find that September 18, 1985, was a Wednesday.)
Example 2 (other centuries)
[edit]Suppose that we want to find the day of week that the American Civil War broke out at Fort Sumter, which was April 12, 1861. The anchor day for the century was 94 days after Tuesday, or, in other words, Friday (calculated as 18 × 5 + ⌊18/4⌋; or just look at the chart, above, which lists the century's anchor days). The digits 61 gave a displacement of six days so doomsday was Thursday. Therefore, April 4 was Thursday so April 12, eight days later, was a Friday.
See also
[edit]- Ordinal date
- Computus – Gauss algorithm for Easter date calculation
- Zeller's congruence – An algorithm (1882) to calculate the day of the week for any Julian or Gregorian calendar date.
- Mental calculation
References
[edit]- ^ a b c John Horton Conway, "Tomorrow is the Day After Doomsday" (PDF). Eureka. October 1973. pp. 28–32.
- ^ Richard Guy, John Horton Conway, Elwyn Berlekamp : "Winning Ways: For Your Mathematical Plays, Volume. 2: Games in Particular", pages 795–797, Academic Press, London, 1982, ISBN 0-12-091102-7.
- ^ Lewis Carroll, "To Find the Day of the Week for Any Given Date", Nature, March 31, 1887. doi:10.1038/035517a0
- ^ Martin Gardner, The Universe in a Handkerchief: Lewis Carroll's Mathematical Recreations, Games, Puzzles, and Word Plays, pages 24–26, Springer-Verlag, 1996.
- ^ "What Day is Doomsday". Mathematics Awareness Month. April 2014.
- ^ Alpert, Mark (April 1, 1999). "Not Just Fun and Games". Scientific American. Retrieved April 18, 2024.
- ^ The table is filled in horizontally, skipping one column for each leap year. This table cycles every 28 years, except in the Gregorian calendar on years that are a multiple of 100 (such as 1800, 1900, and 2100 which are not leap years) that are not also a multiple of 400 (like 2000 which is still a leap year). The full cycle is 28 years (1,461 weeks) in the Julian calendar and 400 years (20,871 weeks) in the Gregorian calendar.
- ^ a b c d e Torrence, Bruce; Torrence, Eve. "John H. Conway – Doomsday, part 1". YouTube. Mathematical Association of America. Archived from the original on December 21, 2021. Retrieved April 14, 2020.
- ^ "The Doomsday Algorithm – Numberphile". YouTube. Retrieved July 9, 2023.
- ^ a b Limeback, Rudy (January 3, 2017). "Doomsday Algorithm". Retrieved May 27, 2017.
- ^ "On what day of the week is Christmas? Use the Doomsday Rule". The Irish Times. Retrieved July 20, 2022.
- ^ John Horton Conway, "Tomorrow is the Day After Doomsday" (PDF). Eureka. October 1973. pp. 29–30.
Each ordinary year has its Doomsday 1 day later than the previous year, and each leap year 2 days later. It follows that within any given century a dozen years advances Doomsday by 12 + 3 = 15 days = 1 day. ('A dozen years is but a day.') So we add to the Doomsday for the century year the number of dozens of years thereafter, the remainder, and the number of fours in the remainder.
- ^ a b c Chamberlain Fong, Michael K. Walters: "Methods for Accelerating Conway's Doomsday Algorithm (part 2)", 7th International Congress on Industrial and Applied Mathematics (2011).
- ^ Nakai, Hirofumi (June 1, 2023). "A Simple Formula for Doomsday". The Mathematical Intelligencer. 45 (2): 131–132. doi:10.1007/s00283-022-10229-3. ISSN 1866-7414.
- ^ thatsmaths (June 22, 2023). "A Simple Formula for the Weekday". ThatsMaths. Retrieved March 21, 2025.
External links
[edit]- Encyclopedia of Weekday Calculation by Hans-Christian Solka, 2010
- World records for mentally calculating the day of the week in the Gregorian Calendar
- National records for finding Calendar Dates
- World Ranking of Memoriad Mental Calendar Dates (all competitions combined)
- Doomsday Algorithm
- Finding the Day of the Week
- Poem explaining the Doomsday rule at the Wayback Machine (archived October 18, 2006)
- Doomsday Calculator at timeanddate
Doomsday rule
View on GrokipediaFundamentals
Concept of doomsday
The doomsday in the context of the Doomsday rule refers to a specific day of the week that occurs on a set of predetermined, easy-to-remember dates within any given year, known as anchor dates. These anchors include the last day of February (or February 29 in leap years), as well as the dates 4/4, 6/6, 8/8, 10/10, and 12/12.[4] Additional anchors, such as 5/9, 9/5, 7/11, and 11/7, further facilitate reference points throughout the year.[4] This consistent alignment allows the doomsday to serve as a reliable pivot for the entire calendar. The primary purpose of identifying the doomsday is to streamline the determination of the day of the week for any date by first establishing this single reference point for the year, from which other dates can be calculated through simple counting. Since days of the week repeat in a cycle of seven, the offset between a target date and the nearest anchor can be computed modulo 7 to find the corresponding weekday efficiently.[5] This approach reduces complex calendar arithmetic to mental shortcuts, making it accessible without tools or extensive memorization. The Doomsday rule, including the concept of the doomsday, was invented by British mathematician John Horton Conway in 1973 as a quick technique for mental date calculations, inspired by earlier perpetual calendar methods but simplified for practical use.[4] Conway, renowned for contributions like the Game of Life cellular automaton, developed it to enable rapid weekday computations, often demonstrating it in lectures and interviews.[4]Doomsday anchors
In the Doomsday rule for the Gregorian calendar, anchor dates serve as fixed reference points within each month that always fall on the year's doomsday, facilitating efficient mental navigation to other dates. For the even-numbered months, the standard anchors are April 4, June 6, August 8, October 10, and December 12; these are selected because the day number matches the month number, providing a simple mnemonic for recall.[6] For the odd-numbered months, the anchors deviate from the month-day equality to maintain consistency with the calendar's structure: March 7 (or equivalently the 14th, 21st, or 28th), May 9, July 11, September 5, and November 7. Alternative representations include 5/9 for May, 9/5 for September, 7/11 for July, and 11/7 for November, emphasizing the interchangeable options for these months.[6] May's anchor on the 9th exemplifies this adjustment for odd months.[6] The anchor for February is the last day of the month—February 28 in common years or February 29 in leap years—positioning it as a pivotal reference near the year's start. In leap years, February 29 functions as a universal check point aligned with the doomsday. January's anchors are January 3 in common years and January 4 in leap years, derived directly from the February anchor to ensure continuity across the year-end transition.[6] These anchors are chosen for their numerical ease and even distribution throughout the year, enabling users to count forward or backward in increments of 7 days to reach any target date with minimal effort, while respecting the Gregorian calendar's leap year insertions.[6]Calculating the Year's Doomsday
Gregorian calendar methods
The primary method for calculating the doomsday weekday in the Gregorian calendar, as devised by John Conway, involves determining a century anchor, computing a year code from the last two digits of the year, and then adjusting for the leap year status when applying to specific dates.[7] This approach simplifies the underlying modular arithmetic of the calendar's 400-year cycle into memorable steps suitable for mental computation. Century anchors provide the base doomsday for the "00" year of each century, represented numerically where Sunday = 0, Monday = 1, Tuesday = 2, Wednesday = 3, Thursday = 4, Friday = 5, Saturday = 6. The anchors repeat every 400 years due to the Gregorian leap year rules. A common table of anchors, derived from Conway's algorithm, is as follows:| Century Range | Anchor Day (Numeric Code) |
|---|---|
| 1600–1699 | 2 (Tuesday) |
| 1700–1799 | 0 (Sunday) |
| 1800–1899 | 5 (Friday) |
| 1900–1999 | 3 (Wednesday) |
| 2000–2099 | 2 (Tuesday) |
| 2100–2199 | 0 (Sunday) |
Julian calendar adaptation
The Doomsday rule adapts straightforwardly to the Julian calendar, which lacks the Gregorian system's century-based leap year exceptions, resulting in a simpler but less astronomically precise structure. In the Julian calendar, leap years occur every four years without exception, meaning an additional day is added consistently for such years when calculating doomsdays for dates after February.[10] This uniform rule simplifies the leap year adjustment to adding 1 to the doomsday calculation for post-February dates in divisible-by-4 years, avoiding the Gregorian's variable century corrections.[5] The core formula for determining the year's doomsday in the Julian calendar mirrors the Gregorian approach but omits century corrections, yielding doomsday = (YY + ⌊YY/4⌋ + (6 * CC mod 7)) mod 7, where YY represents the two-digit year and CC the century number.[5] Century anchors are adjusted accordingly, shifting by 3 days from their Gregorian equivalents due to the inclusion of every century year as a leap year, which accumulates extra days over time (Julian has 3 more leap days per 400 years). For instance, the anchor for the 1900s in Julian reckoning falls on Tuesday (2), compared to Wednesday (3) in Gregorian.[9] This adaptation proves particularly useful for historical dates before the Gregorian reform in 1582 or in regions that delayed adoption, such as Russia until February 1918 and Greece until February 1923.[10][11] When converting between calendars, the day offset varies—starting at 10 days post-1582 and increasing to 13 days by the 20th century—but doomsdays must be computed independently using the respective calendar's rules to accurately determine the weekday.[11]Applying the Rule to Specific Dates
Memorable date mnemonics
The Doomsday rule employs specific memorable dates, known as doomsdays, for each month of the year to facilitate quick recall of the weekday anchor for any given year. For the even-numbered months from April to December, these dates follow a simple pattern where the month number equals the day number: April 4 (4/4), June 6 (6/6), August 8 (8/8), October 10 (10/10), and December 12 (12/12).[12][2] This n/n format provides an intuitive mnemonic for these months.[2] For the odd-numbered months, excluding January, February, and March, the doomsdays are September 5 (9/5), May 9 (5/9), July 11 (7/11), and November 7 (11/7). These can be remembered using the phrase "I work from 9 to 5 at the 7-11," which evokes a standard workday schedule at a convenience store chain, linking the numbers to the respective month-day pairs.[5][12][2] January and February have doomsdays adjusted for leap years. In a common year, January 3 and the last day of February (February 28, or "March 0") are doomsdays; in a leap year, these shift to January 4 and February 29.[12][2] For March, common memorable dates include March 7 or March 14 (Pi Day), aligning with the February end reference.[2] Other culturally notable dates like July 4 (Independence Day) or October 31 (Halloween) can also function as doomsdays when they fall on the appropriate weekday, enhancing practical recall.[12][2]Step-by-step day-of-week determination
To determine the day of the week for a specific date using the Doomsday rule, begin with the weekday of the year's doomsday, which has been previously calculated. Identify an anchor date for the target month, such as one of the memorable dates like 4/4 for April or 9/5 for September. Compute the offset as the difference in days between the target date and the anchor date, taken modulo 7; add this offset to the doomsday weekday (or subtract if negative, adjusting modulo 7) to obtain the target date's weekday.[5][2] For a target date (day of month ) where the anchor is , the offset is given by . If the target date precedes the anchor, subtract the absolute difference and add 7 if necessary to keep the result positive. Adjustments may be needed for month transitions, such as when the target date is in a different week relative to the anchor, but the modulo 7 operation ensures the correct weekday shift. These anchors are selected to be close to common dates, minimizing calculation effort.[5] January and February require special handling due to leap year effects. Although the year's doomsday calculation treats these months as the 13th and 14th of the prior year to account for the leap day shift, the anchors for specific dates use January 3 (non-leap) or 4 (leap), and February 28 (non-leap) or 29 (leap). For dates in these months, select the appropriate anchor based on the year's leap status and apply the offset as usual.[2][5] In leap years, February 29 always falls on the doomsday weekday, serving as a direct reference without offset. Century years follow standard Gregorian rules for leap status (divisible by 400), which influences the anchors for January and February but does not alter the offset process once the year's doomsday is established.[5]Mathematical Foundations
Why the rule works
The Doomsday rule relies on the fundamental periodicity of the week, which cycles every 7 days, allowing all date calculations to be performed using modular arithmetic modulo 7. In the Gregorian calendar, a common year has 365 days, equivalent to 52 weeks and 1 extra day (365 ≡ 1 mod 7), advancing the doomsday by 1 day of the week from the previous year. A leap year has 366 days (≡ 2 mod 7), advancing it by 2 days. These annual advances accumulate over years, and the rule computes the doomsday—the weekday shared by specific "anchor" dates—by determining the total such advances modulo 7 from a reference epoch.[3] The formula for the doomsday derives from counting the total number of days elapsed since a fixed reference epoch (such as the year 1900 or 2000) modulo 7, which directly yields the weekday offset. This total incorporates both regular days and leap day adjustments, with the Gregorian leap year rules (every 4 years, except century years not divisible by 400) ensuring alignment with the solar year. Over a 400-year cycle, the calendar contains 400 × 365 + 97 leap days = 146,097 days, which is exactly divisible by 7 (146,097 ≡ 0 mod 7), confirming the cycle's repetition without weekday drift.[3][13] All computations in the rule operate modulo 7 to simplify tracking these offsets. The century terms in the formula account for the three skipped leap years every 400 years (in century years like 1700, 1800, and 1900), which would otherwise overcount leap days by 3 (≡ 3 mod 7), shifting the anchor accordingly. For instance, the anchor for the 1900s is Tuesday, reflecting the cumulative effect of prior skipped leaps from an earlier epoch.[3] A key component is the year code within a century, approximated as , where is the last two digits of the year. This expression estimates the days from the century's start to the year's start modulo 7: the term captures the regular day advances (since 365 ≡ 1 mod 7), while counts the leap days contributed by years divisible by 4 within the century (ignoring century-specific skips, which are handled separately). To see why, note that the total days are , providing an exact modular representation for non-century years. Conway's mental variant (using divisions by 12 and adjustments) is equivalent modulo 7, facilitating computation without a calculator.[3]400-year cycle and subcycles
The Gregorian calendar's doomsday pattern repeats precisely every 400 years, encompassing 146,097 days, which equals exactly 20,871 weeks with no remainder. This exact alignment of days to weeks ensures that the anchor days and overall weekly structure recur identically after 400 years, forming a complete cycle for doomsday calculations.[14] Within this 400-year framework, the century anchor days follow a predictable progression, advancing by specific intervals due to the cumulative leap year adjustments. For example, the block from 2000 to 2399 begins with a Tuesday anchor, mirroring 1600–1699, and the pattern continues cyclically thereafter.[9][1] A key subcycle within the 400-year period is the 28-year repetition, where doomsdays often align due to 28 years containing an integer number of weeks aligned with leap years—10,220 base days plus 7 extra leap days in the Julian system, totaling 10,227 days or 1,461 weeks exactly.[15] In the Julian calendar, this 28-year cycle is uninterrupted and exact, as every fourth year is a leap year without century exceptions, allowing seamless repetition of the doomsday across centuries.[16] However, in the Gregorian calendar, the 28-year subcycle is generally reliable within a single century but interrupted at century years not divisible by 400 (such as 1700, 1800, or 1900), which are not leap years despite being divisible by 4; this omission shifts the doomsday by an extra day compared to the expected pattern, breaking the chain until the next aligned 28-year segment.[15] These exceptions ensure the overall 400-year synchronization but require adjustments in cross-century doomsday computations.Related Concepts and Variations
Correspondence to dominical letters
The dominical letter system, derived from ancient Roman calendar practices and adopted by early Christian chronologers, labels the days of the year with repeating letters A through G to identify Sundays for liturgical purposes. In this scheme, January 1 is always assigned letter A, January 2 letter B, and so on through January 7 as G, after which the cycle repeats; the dominical letter for the year is the specific letter that corresponds to the first Sunday.[17] Historically, dominical letters facilitated the alignment of movable feasts like Easter in prayer books and perpetual calendars by allowing quick identification of Sundays without full day-of-week computations, a practice essential for regulating the church year before modern algorithms. The letter shifts backward by one position each common year (e.g., from A to G) and by two positions in leap years due to the extra day in February, which advances all subsequent Sundays by one day relative to the calendar dates.[17] The Doomsday rule, developed by mathematician John Horton Conway, connects directly to this system by using the year's doomsday—the weekday shared by key "anchor" dates—as a single reference point to derive the dominical letter via fixed modular offsets. For instance, in common years of the 1900s (where the century anchor is Wednesday), a doomsday falling on Tuesday corresponds to dominical letter F, reflecting the alignment of January dates with Sundays. Pre-Conway methods relied on tracking multiple letters across the year, whereas the Doomsday approach streamlines this to one weekday determination for all Sundays. The precise mapping between the doomsday weekday and dominical letter follows a standard correspondence, accounting for the structure of January 1–7:| Doomsday Weekday | Common Year Letter | Leap Year Letters |
|---|---|---|
| Sunday | C | DC |
| Monday | B | CB |
| Tuesday | A | BA |
| Wednesday | G | AG |
| Thursday | F | GF |
| Friday | E | FE |
| Saturday | D | ED |
Alternative formulas
One notable alternative to Conway's mnemonic-based Doomsday rule is the formula proposed by Hirofumi Nakai for directly computing the weekday of the year's Doomsday, designed for straightforward mental arithmetic using only remainders modulo 4 and multiplications by small constants.[18] This approach avoids the need to memorize century anchors or year codes, instead relying on simple divisions and adjustments within the Gregorian calendar.[18] Nakai's formula calculates the Doomsday weekday for a year , where is the century number and is the year within the century (00 to 99), as follows: Here, and , with weekdays numbered 0 for Sunday through 6 for Saturday.[18] The formula implicitly accounts for leap years through the century and year adjustments, and once the Doomsday is found, the weekday for any date is determined by adding the offset from that date to the month's Doomsday (e.g., March 7 or 14).[18] For example, to find the Doomsday for 1984 (, ): , , so , corresponding to Wednesday (a leap year, where Doomsday falls on the 4th of even months after February).[18] This calculation involves basic multiplication and modulo operations, taking seconds mentally.[18] Unlike Conway's method, which emphasizes memorable dates and modular additions, Nakai's is more algebraic and direct for the annual anchor, though it still requires knowing month offsets for full dates; it sacrifices mnemonic flair for reduced memorization of codes.[18] Other variants include earlier perpetual calendar formulas, such as Lewis Carroll's 1887 method, which computes the weekday via summed items for century (e.g., ), year (dozens plus remainder plus leaps), month (cumulative days), and day, modulo 7—suitable for mental use but more step-heavy.[19] Spreadsheet implementations often adapt these into single-cell formulas, like Excel's=MOD(DAY + MONTH_OFFSET + YEAR_CODE + CENTURY_CODE, 7), for automated verification without mental effort.
These alternatives are particularly useful for programming perpetual calendars or double-checking mental results, where arithmetic precision trumps mnemonic speed, though they may feel less intuitive for pure head computation compared to Conway's approach.[18]
