A Mental Perpetual Calendar for the 21st Century
Wes Munsil
November 5, 2004 (Friday)
Here's a perpetual calendar that you can use to find the day of the week on which any
date from January 1, 2000 to December 31, 2099* falls. With a little practice, you should
be able to do this in your head. I illustrate the steps with the example date of October 24,
2007.
- Subtract 2000 from the year. (Example: 2007 − 2000 = 7.)
- Divide by 4, discarding any remainder. (Example: 7 / 4 = 1.)
- Subtract from 24. (Example: 24 − 1 = 23.)
- Double. (Example: 23 x 2 = 46.)
- If the year is a leap year, do nothing; otherwise, add 2, 3, or 4, depending on
whether it's the second, third, or fourth year of a four-year period
beginning with a leap year. (Example: 46 + 4 = 50.)
- The result so far tells the day of the week on which the year begins. To find
the day of the week on which the month begins, add a compensation for the
month. This is the number of letters in the appropriate word from a mnemonic
phrase. For non-leap years, use "Can you devise a good system of dates? Yes,
maybe." For leap years, use "It's leap! I'm stuck! You devise a good system!"
For non-leap years:
January 0
February Can 3
March you 3
April devise 6
May a 1
June good 4
July system 6
August of 2
September dates? 5
October 0
November Yes, 3
December maybe. 5
For leap years:
January 0
February It's 3
March leap! 4
April 0
May I'm 2
June stuck! 5
July 0
August You 3
September devise 6
October a 1
November good 4
December system! 6
(Example: 50 + 0 = 50.)
- Add the number of days from the first of the month to the desired date.
(Example: 50 + 23 = 73.)
- Finally, take the result mod 7. (Example: 73 mod 7 = 3.)
- The result is the day of the week, where 0 = Sunday, 1 = Monday, ..., 6 = Saturday.
(Example: 3 = Wednesday.)
You might find it easier to do the mod 7 as you go, since it keeps the numbers
smaller. You can do this anywhere from step 3 on. (If you're worried about doing a
mod 7 in your head, just think of it as subtracting 7 whenever your number is bigger
than 7.)
To illustrate, I repeat the example of October 24, 2007, doing the mod 7 from step 3
on.
- 2007 − 2000 = 7.
- 7 / 4 = 1.
- 24 − 1 = 23 → 16 → 9 → 2.
- 2 x 2 = 4.
- 4 + 4 = 8 → 1.
- 1 + 0 = 1.
- 1 + 23 = 24 → 17 → 10 → 3, Wednesday.
* Yes, I know that conventionally 2000 is considered the last year of the 20th century,
and 2100 is considered the last year of the 21st century. But this procedure does work
for the year 2000 too; and if you want to handle the year 2100, start at step 6 with the
number 5—and remember that 2100 is not a leap year.