Doomsday rule


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, drawing inspiration from Lewis Carroll's perpetual calendar algorithm. 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, June 6, August 8, October 10, and December 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 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.

Doomsdays for contemporary years

Doomsday for the current year in the Gregorian calendar is. Simple methods for finding the doomsday of a year exist.
SunMonTueWedThuFriSat
179617971798179918001801
180218031804180518061807
18081809181018111812
181318141815181618171818
18191820182118221823
182418251826182718281829
183018311832183318341835
18361837183818391840
184118421843184418451846
18471848184918501851
185218531854185518561857
185818591860186118621863
18641865186618671868
186918701871187218731874
18751876187718781879
188018811882188318841885
188618871888188918901891
18921893189418951896
1897189818991900190119021903
19041905190619071908
190919101911191219131914
19151916191719181919
192019211922192319241925
192619271928192919301931
19321933193419351936
193719381939194019411942
19431944194519461947
194819491950195119521953
195419551956195719581959
19601961196219631964
196519661967196819691970
19711972197319741975
197619771978197919801981
198219831984198519861987
19881989199019911992
199319941995199619971998
19992000200120022003
200420052006200720082009
201020112012201320142015
20162017201820192020
202120222023202420252026
20272028202920302031
203220332034203520362037
203820392040204120422043
20442045204620472048
204920502051205220532054
20552056205720582059
206020612062206320642065
206620672068206920702071
20722073207420752076
207720782079208020812082
20832084208520862087
208820892090209120922093
209420952096209720982099
210021012102210321042105

Finding the day of the week from a year's doomsday

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.
John Conway wrote that: "Summary: 'Last' in Jan and Feb, otherwise nth in even months, in odd ones".
He clarified that: "The sign is + for long odd months, and − for short ones ".
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.
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

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, will fall on a Saturday. Christmas Day is always the day of the week before doomsday. In addition, July 4 is always on the same day of the week as a doomsday, as are Halloween, Pi Day, and December 26.

Mnemonic weekday names

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", "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.
Day of weekIndex
number
Mnemonic
Sunday0Noneday or
Sansday
Monday1Oneday
Tuesday2Twosday
Wednesday3Treblesday
Thursday4Foursday
Friday5Fiveday
Saturday6Six-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

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.
CenturyAnchor dayMnemonicIndex
1600–1699Tuesday2
1700–1799Sunday0
1800–1899Friday5
1900–1999WednesdayWe-in-dis-day
3
2000–2099TuesdayY-Tue-K or Twos-day
2
2100–2199SundayTwenty-one-day is Sunday
0
2200–2299Friday5

For the Gregorian calendar:
For the Julian calendar:
Note:.
Next, find the year's anchor day. To accomplish that according to Conway:
  1. Divide the year's last two digits by 12 and let be the floor of the quotient.
  2. Let be the remainder of the same quotient.
  3. Divide that remainder by 4 and let be the floor of the quotient.
  4. Let be the sum of the three numbers.
  5. Count forward the specified number of days 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

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, the difference is just . 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 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 by, 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” are followed by a “leap century”. A common century moves the doomsday forward by
days. A leap century moves the doomsday forward by 6 days.
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.

The "odd + 11" method

A simpler method for finding the year's anchor day was discovered in 2010 by Chamberlain Fong and Michael K. Walters. Called the "odd + 11" method, it is equivalent to computing
It is well suited to mental calculation, because it requires no division by 4, 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 in six steps, as follows:
  1. Let be the year's last two digits.
  2. If is odd, add 11.
  3. Now let.
  4. If is odd, add 11.
  5. Now let.
  6. Count forward 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:
  1. 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 because of a common subexpression 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.

Nakai's formula

Another method for calculating the doomsday was proposed by H. Nakai in 2023.
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

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 is, so the answer is, Sunday.

Correspondence with dominical letter

Doomsday is related to the dominical letter of the year as follows.

400-year cycle of anchor days

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 or −100, at the row 76.
SundayMondayTuesdayWednesdayThursdayFridaySaturdayTotal
Non-leap years43434343444344303
Leap years1315131513141497
Total56585658575758400

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 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 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

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. 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

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 : Thursday, October 4 was followed by Friday, October 15. 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

Example 1 (1985)

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,, and above:
  • is the floor of, which is 7.
  • is, which is.
  • is the floor of, which is 0.
This yields. Counting 8 days from Wednesday, we reach Thursday, which is the doomsday in 1985., and 3 + 1 = 4, doomsday in 1985 was Thursday 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.

Example 2 (other centuries)

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. 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.