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 = SundayExample: 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.