How to Determine the Day of the Week for any Date

How would you like to hear a date, say September 5, 2001, and quickly know in your mind that it is on a Wednesday?  The information below attempts  to explain how to find the day of the week from a given date.  As you practice this method, you should be able do this in your head, without a calendar and without a calculator.

E-mail Craig Ricks, craig@craigricks.com, for specific questions or comments.

Day of Week (know these):
0 = Sunday, 1 = Monday, 2 = Tuesday, 3 = Wednesday, 4 = Thursday, 5 = Friday, 6 = Saturday

Since we know that weekdays repeat every seven days, we need to find a way to simplify them.  Using the above number list, you know that Monday is a 1.  Monday can also be an 8, 15, etc.  You can always divide any number by 7, ignore the result, and use the remainder (also known as modulo). 15 would be Monday, 27 = Saturday, 37 = Tuesday, 21 = Sunday, etc.  You will use this method at the end to determine the actual day of the week.
(15 modulo 7 = 1) (27 mod 7 = 6) ( 37 mod 7 = 2) (21 mod 7 = 0).

Month Numbers (learn these well):

January = 0, February = 3, March = 3, April = 6, May = 1, June = 4, July = 6, August = 2, September = 5, October = 0, November = 3, December = 5

These are calculated based on January 1st being a Monday. For instance, January 1 (1 mod 7 = 1) would be Monday.  January 20 (20 mod 7 = 6) would be a Saturday.  January 31 (31 mod 7 = 3) would be a Wednesday.

You would need to think of February 1 as 32 since it is the 32nd day of the year (32 mod 7 = 4, Thursday).  However, the numbers start getting pretty high each month and they are harder to think of as you go.  This is why the numbers above, in the MonthNumbers list, are used (i.e. 3 for February).  If we think of February as 3 and add 1 (for February 1), we get 4 (Thursday).

To find the day for February 5, we'd take 3 + 5 = 8, 8 mod 7 = 1, Monday
To find the day for September 20, we'd take 5 + 20 = 25, 25 mod 7 = 4, Thursday
To find the day for June 7, we'd take 4 + 7 = 11, 11 mod 7 = 4, Thursday

This is the most complicated part.  The easiest way is to just learn the number for this year and maybe last year and the next few years since those are mostly the dates you will deal with.

Since each year doesn't start on a Monday, we need to adjust for the year.  It is best to learn the century method after you have the current century completely learned. There is a formula you can use for the year -- take the last two digits of the year, divide by 4, drop the remainder, add the result back to the last two digits of the year, now modulo (look at remainder only and not actual result) that by 7...  However, the fastest way would be to memorize some of the numbers for some of the most recent years.

To help learn the years, you could perhaps learn 25 of them -- every leap year -- such as 2000, 2004, 2008, 2012, etc. and then you if you are asked for the year 2005, you can use the number for 2004 plus an additional 1.

Notice that each leap year increases one more from the previous year.
1995 = 6, 1996 = 1, 1997 = 2, 1998 = 3, 1999 = 4, 2000 = 6 (or -1), 2001 = 0, 2002 = 1,2003 = 2,
2004 = 4, 2005 = 5, 2006 = 6, 2007 = 0, 2008 = 2, 2009 = 3

Putting it all together:
Take the number of the month + day + number for the year and then mod 7 to get the weekday.  Be aware that you have to subtract 1 from the final result when calculating a date on a leap year that is in January or February.

March 1, 2002 (3 + 1 + 1 = 5) = Friday
July 7, 2003 (6 + 7 + 2 = 15....15 mod 7 = 1) = Monday
February 20, 2000 (3 + 20 + 6 - 1 [leap year] = 28, 28 mod 7 = 0) = Sunday
October 15, 2004 (0 + 15 + 4 = 19, 19 mod 7 = 5) = Friday
May 19, 4536 (1  + 19 - 3 + 3 = 20, 20 mod 7 = 6) = Saturday
June 17, 2345 (4 + 17 + 0 + 0 = 21, 21 mod 7 = 0) = Sunday