Calculate day of week

A small rethought guide on calculating the day of week fairly easily

(Image ‘borrowed’ from here)

Twelve dates are all to remember, (and one day of week each year), the rest is simple calculus that anyone can do without paper.

1) Memorise twelve DATES that got the same weekday, note that it is starting with March, to avoid dealing with Feb 29.

Mar. 31.
Apr. 28.
May 26.
Jun. 23.
Jul. 21.
Aug. 18.
Sep. 15.
Oct. 13.
Nov. 10.
Dec. 8.
Jan. 5. (*)
Feb. 2. (*)

(*) the following year

2) Each year memorise this day of week for current year. E.g. for 2020: Tuesday, and optionally the week-number for the first: 14 in 2020


3) Remember that January and February are handled as previous year. Count the number of days relative to one of the reference days, While larger than 7 subtract 7 (or: take the remainder of this number by division with 7), and forward the day of week that number of days. (Obviously you can count both days before and after, stepping backwards/forwards)

Example: what is the weekday of new years eve 2020

Either count this as 5 days before Jan. 5. that we memorised as a Tuesday, and thus: Thursday
Or count this as (31-8)=23 days after Dec 8. but 23 2 (Or: 23-7-7-7=2), so 2 days after a Tuesday, that is Thursday.


Note that Mar. 2. in normal years and Mar. 1 in leap years obviously have the same weekday as Feb. 2 (as 28 0). And Mar. 3 obvious got the same weekday as Mat 31. (31-28=3)  So as you most likely already knew the day of week of a particular day is advanced by one every normal year and by two in leap years.

If you want to calculate for a date somewhere further in the future, you thus need to add 1 per year PLUS an additional 1 per intermediate 29/2 (leap year).
Obviously subtract similar for a date in an earlier year.


Note that the dates selected for memory is (now) deliberately taken four weeks apart, this also makes it easier to calculate date distances and work with week-numbers.