How to Calculate Calendar Dates

This post deals with quickly calculating the day of the week (e.g. Friday) for any date. There are many methods for this but the most popular among mental calculators is shown below.

First we will demonstrate a variation that is easy to learn (1 date in about 5 seconds), and then we will see a modification to make it much faster (1 date in 2 seconds if you practise). With this method and advanced training methods the fastest calculators need less than one second to calculate any date.

Easy Method:

For any date, we separate it into 4 components: century, year, month and day. For example:

1990August18

For each component, calculate its contribution using the rules below. Then add the contributions together.

Century:

  • 1600s / 2000s / 2400s /…  +2
  • 1700s / 2100s  / 2500s /…  +0
  • 1800s / 2200s / 2600s /…  +5
  • 1900s / 2300s / 2700s /…  +3

Year:

Divide the year by 4 and ignore any remainder. Then add this to the original year. Find the remainder when dividing by 7. Here are some examples:

  • year 80… 80/4 = 20 (remainder 0)… 80 + 20 = 100… 100/7 has remainder +2
  • year 83… 83/4 = 20 (remainder 3)…  83 + 20 = 103… 103/7 has remainder +5
  • year 90… 90/4 = 22 (remainder 2)… 90 + 22 = 112… 112/7 has remainder +0
  • year 01…     1/4 = 0   (remainder 1)…  1 + 0 = 1… 1/7 has remainder +1

Month:

  • January: +4
  • February: +0
  • March: +0
  • April: +3
  • May: +5
  • June: +1
  • July: +3
  • August: +6
  • September: +2
  • October: +4
  • November: +0
  • December: +2

Day:

Just use the date itself (so for the 18th August, use 18) But to simplify calculation later, it is better to find the remainder when dividing by 7.

So for 18, calculate that 18/7 has remainder +4.

 

Add together the 4 contributions, but if the date is in January or February in a leap year, you must subtract one.

Example #1:

1990August18

1900s: +3

90: 90/4 = 22 (remainder 2), and 90 + 22 = 112. 112/7 has remainder +0

August: +6

18th: 18/7 has remainder +4

3+0+6+4 = 13… but again we can take the remainder when dividing by 7: 13/7 has remainder +6. The 6th day of the week is Saturday (in this algorithm) so 18th August 1990 was a Saturday.

Example #2:

2012January10

2000s: +2

12: 12/4 = 3 (remainder 0), and 12 + 3 = 15. 15/7 has remainder +1

January: +4

10th: 10/7 has remainder +3

2+1+4+3 = 10… But for January/February in a leap year we need to subtract 1, and 10-1 = 9.

Again we can take the remainder when dividing by 7: 9/7 has remainder +2. The 2nd day of the week is Tuesday (in this algorithm) so 10th January 2012 was a Tuesday.

 

Faster Advanced Algorithm:

The most complicated part of the algorithm shown above is in calculating the contribution for the year. Therefore it is faster to memorize the contributions for each of the 100 possibilities (e.g. that 12 would give +1).

However for the rules in Memoriad and the Mental Calculation World Cup, the dates given are between 1600 and 2099, and the current century is the 2000s. For this reason it is perhaps better to change the year values so that:

  • 1600s / 2000s / 2400s /…  +0
  • 1700s / 2100s  / 2500s /…  +5
  • 1800s / 2200s / 2600s /…  +3
  • 1900s / 2300s / 2700s /…  +1

Because we have now subtracted 2 from the year, we must balance this by adding 2 to the memorized values for the years. Hence we get:

  • xx00: 0 + 0/4 + 2 = +2
  • xx01: 0 + 1/4 + 2 = +3
  • xx99: 99 + 99/4 + 2 = 125… 125/7 has remainder +6

Learn these 100 values and your speed will increase dramatically.

A further optimization would be to memorize the month+day joint contribution for all 366 days of the year, for example:

  • January 1st: 4 + 1 = +5
  • January 2nd: 4 + 2 = +6
  • December 31st: 2 + 31 = 33… 33/7 has remainder +5

 

Summary:

If you practise the advanced algorithm you may reach the speeds necessary to compete comfortably at the international level in this discipline!

If you have any questions or would like specialist coaching from myself on advanced calendar calculations or other topics in mental calculation, you’re welcome to contact me here.