Calendar Math

What day of the week will May 12, 2034 be?
What day of the week was May 12, 1298?

The following algorithm will tell you.

(Note: all divisions, except where noted otherwise, are integer divisions, in which remainders are discarded.)

First figure out the values for \(a\), \(y\), and \(m\) -- variables to be plugged into a formula.

\(a = \frac{14 - month}{12}\)  (month = # of month, 1 for Jan, 2 for Feb, etc)

\(y = year - a\)   (year = the 4 digit year)

\(m = month + 12a - 2\)

Next, plug the values of y and m into the following formula to calculate the day:

\[ d = (day + y + \frac{y}{4}-\frac{y}{100}+\frac{y}{400}+ \frac{31m}{12}) \:mod \:7 \]

(Note: mod 7 means "modulo division." That is, take the remainder instead of the quotient as your answer. For example, 20 mod 3 = 2, because the remainder is 2.)

The answer you get for \(d\) will correspond to a day of the week as such:

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

Example: What day of the week will April 5, 2020 fall on?

First figure out \(a\), \(y\), and \(m\):

\(a = \frac{14-4}{12} = 0\)

(remember, it's integer division so remainders are discarded. 4 represents the month of April since it's the fourth month of the year.)

\(y = 2020 - 0 = 2020\)

\(m = 4 + 12(0) - 2 = 2\)

Now plug \(y\) and \(m\) into the \(d\) formula to calculate the day:

\[ d = (5 + 2020 + \frac{2020}{4} - \frac{2020}{100} + \frac{2020}{400} + \frac{31(2)}{12}) \: mod \: 7\] \[ d = (5 + 2020 + 505 - 20 + 5 + 5) \: mod \: 7 \] \[ d = 2520 \: mod \: 7 \] \[ d = 0\]

Note: 2520/7 = 360 with a remainder of 0.

Recall from above that 0 = Sunday. So April 5, 2020 will be a Sunday.

Back to the home page.