Day of the week for any date feat!

I’m almost positive there are numerous other posts about this same topic but why not repeat it.

How many of you guys do this? What techniques do you use? Are you able to calculate it with any speed?

As for me, I learned it from Arthur Benjamin’s book Secrets of Mental Math. I later came across the same method taught here:

I hope to hear all your thoughts :slight_smile:


Like in the link but I don’t calculate the year codes; I have them memorized.

Couple of seconds per date.


I memorized them too; it takes WAY too long to calculate them…

How did you memorize them? Mnemonics or brute force memorization? I first learned them with mnemonics, but then that took too long also XD. So instead I just brute force looked for patterns and learnt them all.

1 Like

Essentially, it’s seven mini memory palaces… I’ve already described it in this post…

Oh yeah I’ve read about that technique. It sounded quite interesting although by that time I did it my own (possibly inferior) way. I just linked my image for the year (example: 67 = chalk) to the code (in this case, 6 = spoon), so I would imagine drawing with a spoon instead of chalk.

The method I believe is most efficient is described here (second method) (my writing) and most competitive human calendars are using to reach their best scores. It’s more-or-less the same as described in the article in the main post of this thread, but it’s slightly faster to set March = 0 so that three months of the year have code 0, rather than just one.

Those of us solving these in 2 seconds or less (like Bjoern above) memorize the year codes using some system, to avoid the most complex part of the calculation. Without this shortcut I was stuck in the 20-25 dates per minute range.

The system I used was to find patterns in the data directly (e.g. 55 → 0, 66 → 0, 77 → 0 and 88 → 0) and used a custom speed flashcard app to drill them for immediate recall. People on this forum might prefer to start with memory palace as Bjoern already described, but then it’s important to drill them so they eventually recall directly.

Other algorithms like the Doomsday method, are easier to understand and learn for beginners, but ultimately not as fast.

Wow that’s some new information for me, especially the stuff about setting other months to zero…

Also, I used a very similar technique to memorize year codes where I just kind of saw patterns in the numbers themselves, rather than using other mnemonics. For example, 11, 22, 33, 44, all have 6 as their year code. And 23, 34, 45, and 56 all have zero as theirs. I think though that we have different codes, these are the ones I use.


In the beginning, I did the same thing like bjoern did to memorize year codes.
First create a memory palace that has 7 rooms and then place the year codes in the room.

But later , I memorized them by connecting shapes with my 2 digit number system.

Let’s example -

02 - doll (in my 2 digit system)

And 4 is the code of 02 - knife (so I use knife as 4 )

Then I linked - I am crying because 4 unknown man stabbing knife in my doll.

So 02 = 4 ( Doll stabbed by knife)

When someone asked the code of 02 , I just visualise a doll and knife in it.

Other example -

20 - bees :honeybee: (in my 2 digit system)

Code - 6 (whistle)

And rest of the things is easy now.
Only visualise bees whistling that’s it.

It’s really fast way to recall year codes in my opinion.(because I currently using it and it’s working well.)

One last thing , I didn’t forget the memory palace where I put the year codes. (But I am not using it)

1 Like

@Daniel_360 , @bjoern.gumboldt

Have you memorized the full code for 365 days?

Like 1 Jan - 5

23 Jan - 6

I didn’t memorize them.

But I memorized code of 31 days.

Day 1 = 1
Day 8 = 1
Day 18 = 4
Day 31 = 3

  1. Code of feb, march, and nov is 0.
    So whatever day that is in this month.

The code is same as the above day code.

  1. Code of June - 1
    I have to add only 1 in all day’s code.

And so on…

1 Like

I know the first 31 number modulo 7 from memory as you describe (e.g. 31 => +3)

I know the code for some of the 366 days from memory, but not all of them.

Today (April 11th) is a +0 in my system, and I think I know all of the zeros. For various other dates such as friends’ birthdays I also know the code, such as my own (August 18th is a +3).

For the others, I usually just get it quickly from an adjacent date, e.g.

December 20th is one before December 21st. 21 is a multiple of 7 so I know that December 21st = +2 (month code for December is 2). So December 20th is +1. This happens almost instantly because I’ve done the exact same thing enough times.

1 Like

Personally, I find the doomsday method a bit all over the place… for me it was always easiest to explain the method to beginners by going to May 1, 2000 as the base date for all calculation (logic). Everything except for the day is 0, so you can explain the “mod 7” thing, then the month codes for the year 2000 whilst cross-referencing 2006 for the leap year exception. Then the 12 year pattern for the rest of the years in the century and finally how there are only 4 different century codes. That way you’re not explaining some sort of “magic formula.”

Unfortunately, I was working on the app to explain the algorithm to newcomers, so that I never ended up optimizing the month bit as you’ve described. The first methods I saw 5-6 years ago when I first started out still had 19xx as their 0 for their century code. Obviously, some 20 years ago you’d make sure to skip that step if your stage act is to calculate somebody’s birthday.

In the end, I decided to only set 16xx and 20xx to 0 and keep May as my 0-month instead of shifting everything 2 down and the years 2 up to make up for it. Also, I was only trying to get to under 5 seconds per date back then… if you’d ask me today, yes… if you plan to be competitive at competitions… Feb, Mar, and Nov should be 0 in your system.

Just to clarify this part a little… I didn’t set up a palace for calendar calculation like you’d set up a palace for “presidents of the US” or what have you. This is my base palace for my PAO system. This is where these characters / numbers live in my brain. That’s where they are when I review my PAO, so just like when I ask you “where does your grandma live?” you’d have the answer like that.

For example 73 I read as Sunday and the Object for the 73 Person is a lemon i.e., LMN = 532_ via the major system and that’s 73^2=532\color{red}9 (the 9 from squaring the unit digit of 73). At the same time 73 is ⠟ = Q in braille. Finally, Q is the BUR corner (i.e., blue/white for me) on the Rubik’s cube.

So about half or maybe two thirds of the numbers, I know the weekday before I know the location. The rest is about at the same time, and after not reviewing for a while, there are maybe a handful of numbers where I’d have to think of the actual PAO translation to get the location and with that the weekday.

Keep in mind though that I had fours years of memory competitions under my belt before I went to my first Mental Calculation World Cup. This will not be a very good approach if you’re purely interested in mental math and don’t have a number system from prior memory work.

I set it up before by placing my 3-digit system into seven small palaces. It wasn’t 365 though because I’d use the month code instead of the month… so in your example Jan 23 \to 623 and Oct 23 are the same image. In the end it’s between 210 and 220 images. That’s only twice the images I’m using for the year code anyway, so it’s definitely within reason; however, Apr 10 for example if just putting 5 on top of 10 and 15 is one (Monday) more than 14, so I’d need to get really fast with my 3-digit system to “see” the location faster than it takes doing the “math.”

Same for me. I also use negative modulo, so 26 is two less than Sunday (28) rather than five more than Sunday (21). I don’t really have them memorized nor do I calculate them… I just kinda “see the distance” if that makes sense… they’re basically either up to +3 (Wed) or -3 (Thu) from a Sunday numbers (7, 14, 21, 28, 35, 42).

I haven’t really done much in terms of improving my performance in this discipline over the last year since the World Cup got postponed due to Covid. There aren’t many competitions for this kind of thing when you compare it to speed cubing or even memory competitions, so it’s kinda hard to get motivated to improve by “that one second” it’d take to catch up to @Daniel_360 .

If I wanted to purposely train at the moment, I’d probably focus on consistency. Take for example Oct 13 xxxx I just know that I want to subtract 2 from whatever is coming next. Take Oct xx 19xx and I just drop month and century because it comes out zero. The problem is that it’s a bit cherry picking and if you start with this holistic view you might get “pretty” solutions but it’s harder to get into a flow state by procedurally just doing the same thing every time.

1 Like