Recently we learnt a very impressive trick: tell us the date you were born and we will almost immediately tell you what day of the week that was.
This trick is a favourite of savants and lightning calculators. We are not in their league; we are merely average. But still, we can perform the calendar trick almost as quickly, and without cheating: we really do all the mental calculations required.
In fact, most people could do exactly what we do, just after a little bit of practice. Our goal here is to show you how.
Doing it the hard way
Let's look back to Thursday, 25 May 1961, when President Kennedy announced the goal to land a man on the Moon. Finally, on 20 July 1969 Neil Armstrong stepped on the Moon, and you want to know what day of the week that was. How could you do it?
The difference between the two dates is six ordinary years, two leap years, one 31-day month and one 30-day month, and then go backwards five days (from the 25th of the month to the 20th). Summing up, there are a total of (6 x 365) + (2 x 366) + (31 + 30) − 5 = 2978 days between the two dates. Dividing by 7, we get 425 weeks with 3 days left over. Since 25 May 1961 is a Thursday, it will be Thursday again 425 weeks later, and 3 days after that will be a Sunday. So, 20 July 1969 is a Sunday. Ta da!
But let's be realistic. It is very unlikely that you could perform these calculations quickly enough to impress anyone. And neither could we.
Doing it quickly: four easy pieces
As our example illustrates, it is fundamentally straightforward to calculate the day of the week of any date. All we need is the day for a convenient reference date, together with the basic facts about our Gregorian calendar: the lengths of the months and the rules for leap years.
The key is to streamline the calculations as much as possible. Many people have written about this calendar trick, and there are as many approaches. Here, we have attempted to simplify the procedure as much as possible for dates in the most commonly requested range. So, our recipe works very well for an audience of real people, but not so well if you are confronted by, say, the ghost of Marie Antoinette.
Our recipe has three big advantages:
- The amount of memorisation and calculation required is kept to a minimum.
- The most difficult calculations are to add on single-digit numbers, and to find the remainder after dividing by 7.
- Each calculation requires only one of the day, month or year components of the given date. This means that you can begin to calculate while the date is still being read out to you.
We'll assume that you're already a pro at adding on single-digit numbers. Then, the key to becoming super quick at the date trick is to become really good at finding remainders after dividing by 7. Also, you will have to memorise the green and purple tables below. (It used to be you had to memorise times tables: now it's Time tables!)
The four main parts of the calculation are described below. In order to help you master them, we have prepared a separate practice web page. This page generates random numbers and dates for you to test yourself, with the answers within easy (but not too easy) reach.
Pressing the button will open a separate page for practising the calculations.
Remainder after dividing by 7. You will have to practise finding the remainder of numbers (from 0 to 54) when divided by 7. The possible remainders are from 0 up to 6. For example, 0, 7, and 14 all leave a remainder of 0, 33 leaves a remainder 5, and 52 leaves a remainder of 3.
Month offset. Each of the twelve months is assigned a number, as given in the following table:
Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec |
|
|
|
|
|
|
|
|
|
|
|
|
You must memorise this table, but it is not as hard as it may seem. One helpful approach is to split the twelve numbers into four groups of three: 622, 503, 514 and 624. Note that the first and last groups only differ in the final spot, and that the second and third groups are also similar, only differing by 1 in the second and third spots.
Decade offset. Each decade is also assigned an offset number. The decade offsets for 1900 to 2010 are given in the following table:
1900 | 1910 | 1920 | 1930 | 1940 | 1950 | 1960 | 1970 | 1980 | 1990 | 2000 | 2010 |
|
|
|
|
|
|
|
|
|
|
|
|
Leap year offset. The final ingredient is to account for leap years. These are counted from the previous turn of the decade, and are given by the following table:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
It is easy enough to memorise the table of leap year offsets, but it is probably better to not bother. Instead, it is easier to simply remember the relevant leap years: 4 and 8 in even decades, and 2 and 6 in odd decades. Then, we just count 1 for each leap year after the turn of the decade.
Let's do it! (1900 to 2019)
We'll now go through the complete details of a birthday calculation, using the great boxer Muhammad Ali as our example. Ali was born on 17 January 1942.
You first ask Mr. Ali (respectfully!) to state his birthday in the natural order: "Seventeenth ... of January ... nineteen forty-two": you can emphasise that the date should be recited slowly, to make sure you hear it correctly. As the different components of the date are called out, you then perform the following calculations in your head.
The first five steps should be self-explanatory. Start with the day of the month, and the month and decade offsets are added on. Then the final digit of the year is added on, together with the leap year offset.
Finally, in Step 6, the total is divided by 7, and the remainder is translated into the day of the week: 0 = Sunday, 1 = Monday, 2 = Tuesday and so on. For Mr. Ali you end with a 6, making the day of his birth a Saturday. You're done, and you may now bow to the thunderous applause!
The fine print: January and February of leap years
The calculations above will work for about 96% of the dates in our range. However, if the date is in January or February of a leap year, then you have to subtract 1 from your total. Of course, as we remarked above, it is very simple to spot leap years. They are just the years ending in 0, 4 and 8 in even decades, and the years ending in 2 and 6 in odd decades. For now, the only exception to be aware of is 1900, which is not a leap year. We discuss this annoying exception below.
For example, let's calculate the day of birth of Michelle Obama, born on 17 January 1964. The calculation for the First Lady would be similar to that for Ali, and we again end with a 6. But, Mrs. Obama was born in January of a leap year, so we subtract 1, resulting in 5: Mrs. Obama was born on a Friday.
You now have everything you need to perform the calendar trick on your friends. Below we consider more technical details: years from other eras and some finetunings of the method, both of which you may wish to consider. But you are able to start practising now. PUSH THE BUTTON!
Even finer print: other centuries
What about a date later in the 21st Century? Luckily that's easy: simply subtract 1 from the corresponding 20th Century calculation. For example, as we calculated, Neil Armstrong stepped on the moon on a Sunday, which our recipe would compute as a 0. Now, as you have probably already deduced, subtracting 1 from 0 is recorded as a 6. So, the centenary of the moon landing, on 20 July 2069, will be a Saturday.
Marie Antoinette requires a century offset of +4.
The same approach works for other centuries: you can calculate the corresponding date in the 1900s and then adjust by the appropriate century offset. In the previous example, we used the offset of -1 for the 2000s, and of course the 1900s have 0 offset. The offset for the 1800s is +2 and, just in case you are confronted by the ghost of Marie Antoinette, the offset for the 1700s is +4.
In fact, for our Gregorian calendar these are all the century offsets you ever need to remember, since the offsets cycle every fourth century. For example, the offset for the 2100s is +4, the same as for the 1700s.
The finest print: leap year exceptions
We think of leap years as those years divisible by 4. However, there is one exception, introduced by Pope Gregory III in 1582 for our new calendar: in the Gregorian calendar the century years are not leap years. So, for example, 1900 was not a leap year. However, the Pope also introduced an exception to the exception: every fourth century year is a leap year. So, for example, 2000 was a leap year.
These leap year exceptions affect the above calculations in two places. First, for January and February of 1900, we do not have to make the leap year adjustment as we did for Michelle Obama. Secondly, for January and February of century leap years, such as in 2000 and 2400, we have to subtract 1 from the century offset.
Let's illustrate this with an example. James Bond (the famous ornithologist) was born on 4 January 1900. This computes to a 4 (with no leap year correction needed), and so Bond was born on a Thursday. The centennial of Bond's birth was on 4 January 2000: we subtract 1 for the century offset and 1 again for the 2000 leap year exception, and conclude that Bond's centennial occurred on a Tuesday. By comparison, 2100 is again a leap year, and so no extra leap year adjustment from 1900 is required: we simply add 4 for the century offset and conclude that Bond's bicentennial, on 4 January 2100, will occur on a Monday.
How does it work?
Think of 1950 as our anchor year. Notice that for 1950 all the year and leap year offsets are 0. So, Steps 1 and 2 are all we need to find the days of dates in 1950.
Now consider any other year. To find the days in this new year, we simply have to shift the corresponding days in 1950 by a fixed offset number (keeping in mind the January and February fine print, in the case of a leap year). The remaining steps are just designed to find this offset number, for the years in our range, as simply and as quickly as possible. Finally, for years outside our range, we just have to incorporate as well the appropriate century offset. That's it! (See why the method works in more detail.)
Finetuning the trick and finding out more
As we mentioned, there are many different approaches to the calendar trick. Below are some slight variations which you may wish to consider, and some suggestions for where to explore further. Enjoy!
1. In most performing situations, you will have a good idea of how old your audience will be. This means that you can just focus upon the most likely decades (and bluff a bit if you happen to get caught out).
2. To make the numbers to be added even smaller, you can have the offsets and/or remainder range from -3 to 3.
3. Another way to make the numbers smaller is to divide by 7 at each step, just keeping the remainder.
4. You may have noticed that in the video of Art Benjamin, he asks for the date in reverse order, starting with the year. If you prefer the dates delivered in this order, you would pretty much just reverse the order of the steps in our recipe.
5. If you are going to be given dates over a wide range of years, then you will also need the century offsets. But, you will not need the last two decade offsets in our table.
6. The day calculator built into this web page is a bit crude. For example, it will give the day of a nonsensical date such as 31 February. There are many polished and free programs out there, which can also cope with different types of calendars. (For our Macs, we are very happy with the program Date Calculator.) Also there is a nice iPhone application called Day of the week.
7. For other methods of quickly calculating the day of a given date, we recommend that you check out the Wikipedia page on calculating the day of the week. Also an impressively explicit formula for the day of a given date can be found on Claus Tondering's website.
8. Our calendar recipe is based upon the recipe described in the terrific book by Arthur Benjamin and Michael Shermer, Secrets of Mental Math: The Mathemagician's Guide to Lightning Calculation and Amazing Math Tricks. If you are interested in going beyond our recipe, and in finding out more about lightning calculation, this book is absolutely a must-have. You can also watch a video of one of Art Benjamin's shows on the TED website, in which he performs all sorts of lightning calculations.
About the authors
Burkard Polster and Marty Ross are Australia's tag team of mathematics. They write the Maths Masters column for the The Age newspaper in Melbourne. For many years they have been delivering the mathematics lecture series at the Melbourne Museum, visiting schools and touring the countryside with their Mathematical Mystery Tour. Currently, Burkard is lecturing mathematics at Monash University, and Marty is somewhere, lost in the woods.
Check out what else Burkard and Marty are up to at www.QEDcat.com.
Comments
TYPO
Under September in your step by step example there should be a 4, not a 3.
Thanks for pointing that out!
Thanks for pointing that out! We have corrected it.
A question
How did you get the offsets for the leap years? How did you conjure up this pattern? Please explain. This helped me out tremendously.
Ahmm
I kinda like the Zeller's Rule. It works for all dates in the Gregorian calendar.
Sundays
The applet returns Sunday for me regardless of the input. But great article. I think there would be some inherent interest in this.
We checked and the applet
We checked and the applet works for us, so not sure what the problem is. sorry!
Applet input
That happened to me at first, then I realized I was typing in the lower box, and should have typed in the uppper text box.
Decade offset
What is the decade offset for 2020,2030.....and so on. Also plz could you explain how to calculate the decade offset??
The explanation of the hard way
In the explanation of the hard way it says that after dividing 2978 by 7 you get 425 weeks with 3 days left over. Can you explain how that works if 2978/7=425.428? Where are you getting three days?
RE: The explanation of the hard way
When working with remainders it is easy not to spot this. If you took the units away leaving you with 0.428, you would see that 0.428 is 3/7. When talking about remainders 3/7 becomes a remainder of 3. Hope I helped.
A simple Expalnation
2978/7 = 425.428
Consider the Whole number;
i.e;
425 x 7 = 2,975
Therefore;
2,978 - 2,975 = 3
a math hater
2100 a leap year?
I think not. As you said, you ignore leap years that fall on a century like 1900 or 2100 unless the century is divisible by 4 like 2000.
Century years are leap years if they are divisible by 400
So 1900 and 2100 are not leap years, whereas 2000 is. The divisible-by-4 rule only applies to non-century leap years.
Says I was born on a Sunday!
Says I was born on a Sunday! I wasn't
tell all the year codes
whats the year code of 1984 and how to know year codes for all the years?
Century Offsets
Where do I find the century offsets for longer ranges? Is there a way to calculate it?
Error??
Doesn't seem to work with 11 July 1968?? It gives wednesday when in reality it was a Thursday. Can anyone fact check me
Not an Error
Decade offset = 6. Plus the 8. Plus 2 for leap years. That's 16 so far.
July offset is 5. 21 in total.
Plus 11, that's 32.
Divide by 7 gives you 4 remainder 4. Which is a Thursday :)
Year offset
In the practice it says 5 for the year offset. Above on this page it says 6.
What I'm doing wrong?
I went on internet and picked up random date: 1957-05-23. I calculated by myself and I got Wednesday. But on this website I got Thursday I don't know why. I checked it few times and didn't saw the problem: 23+0+0+7+1=31=3. Please help!!!
Birthday
This method managed to get not just my own but all my children birth days wrong, also far to complicated in the decade - this way works!
30/05/1981
Year figure
Divide 81 by 4 discard remainder and add to 81
e.g. 20+81 =101 Mod7 gives you 3
Month figure - use the (similar to the other method but...)
033614625035
Therefore May=1
Day figure=30
Therefore 3+1+30 =34 Mod7 is 6 Saturday
CORRECT!!
Using their method you 30+0+3+0 which gave Mod 7 of 5 Friday, which is incorrect.
number whrong
you forgot to add the 1
What if there’s no remainder
What if there’s no remainder
Thursday plus zero days =
Thursday plus zero days = Thursday
Same issue
I used Jan. 24 1969,
24(day)+6(Jan)+6(1960)+9(1969)+2(leap year)= 47 47/7=6 r5 5 is Thursday, both calendar and applet say Friday..... What am i missing?
Monday is 1 Friday is 5
Monday is 1 Friday is 5
Decade offset for 2020?
Hi,
Thanks so much for this article, has been really helpful.
Please can someone tell me what the decade offset is for 2020? Otherwise my superpower will become redundant!
Best wishes,
Harry
well have an almost same problem
I have another problem .When it comes to 2000, the leap year offset ,I need to know cause 0 is neutral and there are two zeroes in both even and odd should I take the even or odd.
please
help me out
abhi
well have an almost same problem
I have another problem .When it comes to 2000, the leap year offset ,I need to know cause 0 is neutral and there are two zeroes in both even and odd should I take the even or odd.
please
help me out
abhi
2020 Offset
2020 is a leap year. I think the offset will be 4 for this decade.
2020 Offset.
Yes, it will be 4. The offset for the 1920s is 5. All offsets for the 21st Century decades are as for 20th Century offsets, minus one.
Your method is far too
Your method is far too complicated.
Thurs, 25 May 1961 to *day 20 July 1969
Years are 52 weeks and a day, leap years are 52 weeks and 2 days, and since days of the week recycle every week we can ignore weeks entirely.
six standard years (6 days) + 2 leap years (4 days) = 10 days ... ignore 1 week (7 days) = 3 days
1* 31 day month (4 weeks & 3 days) ... ignore 4 weeks = 3 days
1* 30 day month (4 weeks & 2 days) ... ignore 4 weeks = 2 days
subtract 5 days (25th - 20th)
3+3+2-5 =3 days
3 days after Thursday = Sunday
... far easier than trying to multiply up to 2,978 then dividing down to 425, and a bit
Wrong date
Hey,
This method is not full proof. For Aug. 8th 2012, my computer gives me Wednesday, but this method always gives me Tuesday. Any help?
8th (+8) , August (+1), decade (+5), year (+2), leap year (+0) = 16 / 7 = 2 , so Tuesday, right?
Remember odd decade leap years
Hi,
since 2012 is in an odd decade, you need to account for leap years 2012 and 2016.
So if you add 1 for the leap year of 2012 you get:
8th (+8) , August (+1), decade (+5), year (+2), leap year (+1) = 17 / 7 = 3 --> Wednesday
One handed calculator
Great method! However, I was finding that it was fairly straightforward doing it in the comfort of my own home but when out and about in loud and distracting public places there was an element of performance pressure that sometimes messed up the mental arithmetic or slowed me down. To counter this I now divide by seven for each element of the date as it is given i.e 24th = 3, 17 = 3, 11 = 4, 21 = 0 etc and keep a tab of the remainder by putting my thumb against one of my fingers 1= thumb on index, 2 = thumb on middle, 3 = thumb on ring, 4 = thumb on pinky, 5 = thumb on none of the fingers and 6 = closed fist (or any system that is easy for you to remember). That way I am keeping tabs on only one aspect of the date at a time and have a tactile reference point that I can refer back to and is easy to maintain while talking or figuring out the next number to add.
So the 16th September 1976 would be calculated as follows:
16th: remainder 2 (thumb on middle finger)
September: + 4 = 6 (fist)
70s: 6 + 4 = 10 - remainder 3 (thumb on ring)
76: + 6 = 9 - remainder 2 (thumb on middle)
Add 2 for leap year - (thumb on pinky)
Pinky = 4 (Thursday).
Has worked well for me and certainly takes the pressure off as you only gave to keep tabs of small numbers.
Query on 27th Jan 2008
When I am doing this calculation for 27th Jan 2008, it is mismatching.... whereas for all other dates it is matching... Kindly calrify
27 + Jan(6) + 2000 (0) + 8 +
27 + Jan(6) + 2000 (0) + 8 + 6th even (1) = 42 / 7 = Rem 0 = Sunday.
First of all this is great!
First of all this is great! Thank you.
Secondly:
How were the month offsets calculated?
How do you calculate more decade/leap year offsets?
Leap Year Offset
First of all this is great! Thank you.
Secondly:
Feels like the leap year offset is wrong on the practice page. It quotes an offset for 1983 as 0, where the table shows it should be 1, 4th even decade = 1. While the offset for 1965 is 1.
Am I missing something.
The offset for 1983 is 0. It
The offset for 1983 is 0. It's an even numbered decade (8) so the offsets are 1 from 1984 to 1987 and 2 from 1988 to 1989.
Step six; confusion
In your step six, above, 27÷7 is not “6.” It’s 3.85 Please explain the “new math” on how you came up with 6. Also, when the end number is uneven, like 3.8, do we round up, or round down?
Don’t Always Depend on Calculators
Don’t always depend on calculators. You should be able to do it by hand. I got “3” remainder “6”.
They mean that the remainder
They mean that the remainder is 6.
The table
How did you develop the Chart like assign Number s (values) specific to Months and Specific to years ...
PLEASE explain that part ...Like how to find the Code for any year or how did you give code to every month and why?
Century Leap Years
Above you state that: "By comparison, 2100 is again a leap year, and so no extra leap year adjustment from 1900 is required: we simply add 4 for the century offset and conclude that Bond's bicentennial, on 4 January 2100, will occur on a Monday."
I think that should read '2100 is not a leap year'.