This is an old revision of the document!
Doomsday Algorithm
Doomsday Algorithm was an innovation by John Conrad for quickly mentally calculating the day of the week (e.g., 2001-09-11 was a Monday). It does so by associating a specific day of the week with a given year and identifying days in each month that always fall on that day with a simple mnemonic system, and also teaches how to find that specific weekday in other years within a century and the day for a given century. That day, for whatever reason, is called the *doomsday*.
It's a nifty parlor trick, a decent mental exercise, and takes about as much skill as learning to solve a Rubik's cube in under a minute.
Monthly doomsdays
The monthly doomsdays (after February) are trivial to remember: they fall on the same day as the month's number.
Even “doomsdays” | |
---|---|
Month | Day |
April | 4 |
June | 6 |
August | 8 |
October | 10 |
December | 12 |
Odd doomsdays (after March) have a dumb mnemonic, “I work 9-5 at the 7/11” :
Odd “doomsdays” | |
---|---|
Month | Day |
May | 9 |
July | 11 |
September | 5 |
November | 7 |
March is an odd case: its doomsday is the 0th, or the last day of February. (so it's also March 7th, 14th, etc)
Depending on whether a year is a leap year or not, the Doomsday is likewise the 28th or 29th of February.
The trick for figuring out January's doomsday is easy: 3/4ths of the time, a year isn't a leap year, so the doomsday is January 3rd. That 4th time, when a leap year occurs, it's January 4th. So, to summarize:
Month | Doomsday |
---|---|
January | 3 / 4 |
February | 28 / 29 |
March | 7 |
April | 4 |
May | 9 |
June | 6 |
July | 11 |
September | 5 |
October | 10 |
November | 7 |
December | 12 |
Not all of our brains are used to working with modulo seven, so here's an expanded table that can be memorized or used to learn the modulo seven operation. This is just for regular years. You can make your own chart for handling leap years.
Months | Days |
---|---|
February, March, November | 0, 7, 14, 21, 28 |
August | 1, 8, 15, 22, 29 |
May | 2, 9, 16, 23, 30 |
January, October | 3, 10, 17, 24, 31 |
April, July | 4, 11, 18, 25 |
September, December | 5, 12, 19, 26 |
June | 6, 13, 20, 27 |