Learn the day of the week of any date

If you are not familiar with memory techniques, you might not fully understand what’s going on here, in case, you might like to have a look on the wiki of mnemotechnics.org.

The technique is well known by memory guys. It consists in summing up 3 values and take the remainder of the euclidian division by 7.

For example, for 12 february 1945

  1. 19 =  7*2+5   => 5 (euclidian remainder)
  2. February   => 4 (learned association, explained after)
  3. 1945   => 6 (learned association, explained after)
  4. 5+4+6 = 15 = 2*7+1 => 1 (sum of the previous numbers, and euclidian remainder)
  5. 1=>monday (index in the week)

12 february 1945 is a monday

Explanation :

  • First step : a simple euclidian division, you take the remainder. ( e.g 21=7*3+0 => 0 ; 3=7*0 + 3 )
  • Second step : based on a learned association (January=1 ,February=4, march=4, avril=0, may=2, june=5, july=0,august=3,septembre=6,octobre=1,novembre=4,decembre=6).  Not so hard to learn if you use your memory system.
  • Third step : based on a learned repartition of all your numbers (0→99) in 7 rooms of your date palace. (check the following map at the end to know the repartition, I am too lazy to rewrite it for the moment. This is the hardest part.
  • Fourth step : add all the stuff up and as step 1, take the remainderof the euclidian division by 7.
  • Fifth step : add your day code.  As I am a french I prefer by convention that weeks start on monday so 1 is monday, 2 is tuesday, etc…. If you want to start your week with sunday, adapt your date palace by subtracting 1 to each of the location related digit (unless 0 which becomes 6).

HERE THE MAP OF MY DATE PALACE
Aaaaand the map is in french, sorry about that.

Capture

I used VUE (visual understanding environment) software  to build this. It helps me to review. Of course this map is dull and only display basic informations to mentally review my palace. In my mind it corresponds to real places and real interactions between my numbers (the numbers are associated with people I know).

Notes :

  • If you got  leap years (when the year can be divided by 4, like 88), you have to substract 1 from your final result if and only if the month is january of february.
  • If it’s another century than the XXth century, you have to add at the end a century code : 2 for 1800→1899 and 6 for 2000→2999.
  • To find the century code of another century, add 5 to the previous one. Unless it’s century leap year like 2000, 2400, 2800 …. in which case you add 6 instead. For example, century code for 2200→2299 is 6+5+5=16 which can be replaced by 2 (because 7*2 + 2 = 16). Of course there is a formula to compute the century code of any century. Have a look at the end of the post if you dare.

Let’s take a final example of a leap year in the XXI century :
15 january 2004

  1. 15 = 7*2+1 => 1
  2. january : 1
  3. 04 : 4
  4. sum = 6
  5. [leap year step] = 6-1 = 5
  6. [another century step] = 5 + 6 =11
  7. final result 11=7*1+4 => 4
  8. day : 4=>Thursday

Notice for centuries far from XIX. Let’s take 1900-1999 century for an example :

  1. 19 = 4 * 4 + 3 (dividend of the euclidian division by 4)
  2. 19*5=95 (multiply the century by 5)
  3. 95+4=99 (add all the stuff)
  4. 99+6=105 (add 6)
  5. 105=7*15 + 0  (euclidian remainder, the century code is 0)

To avoid big numbers, note that you can simplify early your expressions. You can do instead :

  1. 19 = 4 * 4 + 3 (dividend of the euclidian division by 4)
  2. 19*5=95 can be replaced by 5*5=25 (because 19=7*2+5) and 25 can be replaced by 4 (because 7*3+4=25
  3. 4+4+6=14 (add all the stuff, add 6)
  4. 7=7*2+ 0  (euclidian remainder)