A fun mental-math skill

Tell the day of the week
for any date — in your head

No calendar, no calculator — just a little arithmetic you can do in seconds.

September 5, 2001Wednesday

Try it now

Pick any date and watch the method work, one step at a time. Then practice until you can do the steps yourself.

How it works

Everything reduces to one idea: add a few small numbers, then take the remainder after dividing by 7. The remainder is the day.

1Number the days

The whole method lands on a number from 0–6. Memorize which day each one is:

0Sunday
1Monday
2Tuesday
3Wednesday
4Thursday
5Friday
6Saturday

Weeks repeat every 7 days, so we only ever care about the remainder after dividing by 7 — written mod 7. For example 27 mod 7 = 6 → Saturday.

2Learn the 12 month codes

Each month has a fixed code. These are the numbers worth memorizing well:

JanFebMarAprMayJun
033614
JulAugSepOctNovDec
625035

Where do these come from? They’re built so January 1st acts like a Monday. Add the month code to the day of the month, take mod 7, and you get the weekday for a year that starts on the right foot. Example: Sep 20 → 5 + 20 = 25 → 25 mod 7 = 4 → Thursday.

3Add the year code

Years don’t all start on the same day, so each year gets its own small code. Two ways to get it:

The shortcut (recommended): just memorize the codes for the years you actually use — this year, last year, the next few. Most dates people throw at you are recent.

The formula: take the last two digits, add a quarter of them (drop any remainder), then mod 7. For a 2000s date, subtract 1 more (this century’s adjustment); 1900s dates need no adjustment.

Year 2025  →  25 + (25 ÷ 4 = 6)  =  31  →  31 mod 7 = 3  →  −1 (2000s) = 2
Year 2008  →   8 + ( 8 ÷ 4 = 2)  =  10  →  10 mod 7 = 3  →  −1 (2000s) = 2

Or just look it up — here are the codes for every year:

Leap years are the anchors — each leap year’s code is exactly one more than the previous leap year’s. Learn the leap years and you can count up to the rest. (Other centuries need a small tweak — see Beyond this century.)

4Put it together

month code + day + year code, then mod 7. Look up the remainder in the list from step 1 — that’s your day.

Oct 15, 2004   0 + 15 + 4 = 19   →  19 mod 7 = 5   →  Friday
Jul  7, 2003   6 +  7 + 2 = 15   →  15 mod 7 = 1   →  Monday

⚠️ One caveat: for a date in January or February of a leap year, subtract 1 from your final answer. Feb 20, 2000 → 3 + 20 + 6 − 1 = 28 → 28 mod 7 = 0 → Sunday.

Practice makes it automatic

The method is simple; speed comes from reps. Try these:

Beyond this century

Ready for any date in history? These extras let you handle other centuries, and even dates before the modern calendar. Learn them once the basics feel automatic.

Adjusting for other centuries

Compute the year code as usual from the last two digits, then adjust by century:

CenturiesAdjustment
1900, 2300, 2700, 3100, …use the list as-is (0)
2000, 2400, 2800, 3200, …− 1
2100, 2500, 2900, 3300, …− 3
2200, 2600, 3000, 3400, …− 5

Examples: May 12, 1953 → 1 + 12 + 0 = 13 → Tuesday
Mar 3, 2805 → 3 + 3 + 6 − 1 = 11 → Thursday
Apr 7, 3196 → 6 + 7 + 1 = 14 → Sunday

Dates before 1900 (and the missing days of 1752)

For the 1800s subtract 2 from your final result; for the 1700s subtract 4. Earlier than that, the calendar itself changes.

When England switched from the Julian to the Gregorian calendar, September 3–13, 1752 never happened. For any date on or before September 2, 1752, add another 4, and compute the year part as 18 − (first two digits). For example the 1600s give 18 − 16 = 2.

[root@linux root]# cal 9 1752
   September 1752
Su Mo Tu We Th Fr Sa
       1  2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

Many computers get this month wrong. A real UNIX/Linux cal shows it correctly.

The leap-year rule

A year is a leap year if it’s divisible by 4 — unless it’s divisible by 100 but not by 400. So 2000 is a leap year (divisible by 400), but 1900 and 2100 are not.

Remember: subtract an extra 1 from your total for January and February dates in a leap year (the caveat from step 4).

Enjoyed this?

CraigRicks.com is free and ad-free. If this taught you something fun — or just settled a “what day was that?” — you’re welcome to leave a small tip. It helps keep the site online, and it’s genuinely appreciated. 🙏

Secure checkout through PayPal — a PayPal account isn’t required.