Calendar or date 'savants'
'Savant' behaviour describes individuals with developmental disability who display skills inconsistent with their general intellectual functioning. Much is sometimes made, of calendar or date savants who can quickly suggest the day of the week that a given date falls on. I would suggest, however, that calendar calculating is unremarkable to the point of being trivial. It doesn't require much math skill and certainly doesn't require the 'memorising of 2,000 dates', as has been suggested. Neither does it require an especially 'detailed or complex pre-formulated method' and with a calendar to study, I should think is well within the capabilities of some with learning disabilities to derive for themselves.
My point here is simply to suggest that though some savant feats are remarkable, things like this can be explained more simply. That a savant may be an idiot, surrounded by a sea of disability, I don't think, requires us to overestimate what is involved in the little they can do. I should think it's quite possible for some, to have above average ability in one area and subnormal in many others.
You too can be a calendar 'savant' in just a few minutes..
Firstly the long way through, so you clearly understand the calculation of the day of the week a date falls on. Then, a summary and a suggestion of how this is simple enough for someone with a learning disability to do.
Step 1
Find the day on the 1st of March in a leap year. For simplicity use year 2000
1st March 2000 = Wednesday - Remember this.
Step 2
Consider then the days that are the 1st of each month of that year from March to February the next year. The days precess, each month jumping forward either two or three days.
From March.. 3,2,3,2,3 3,2,3,2,3 3 - 11 numbers enabling you to calculate the days of the week that are the 1st of month's in year Mar 2000 -> Feb 2001.
for instance 1st Jul 2000 = Wed+3+2+3+2= Wed+3=Sat
and 1st Dec 2000 = Wed+3+2+3+2+3+3+2+3+2= Wed+2=Fri
Step 3
Understand when we talk of year we are considering 1st Mar to Feb the next year.
Now take a random date, for instance, one given to you as someone's birthday and calculate the 1st March for that year. As an example we shall use 14 July 1970.
To do this understand that moving back four years, you move two days of the week forward.
(eg 1st March 1992 is a Sunday (ie Wednesday, from above, +4))
Move back to the leap before the given year. (Remember if the month is Jan or Feb you need to be considering the year before.)
From 1st March year 2000, 1st March 1968 is 32 years ago, that is 8*2 days forward = 16 days = 2 days forward
which is Wednesday+2 = Friday.
1st March 1969 = 1st March 1968 +1
1st March 1970 = 1st March 1968 +2 = Sunday.
(1st March 1971 is 1st March 1970 +1
- moving to the leap year 1st March 1972 = 1st March 1971 +2)
So 1st March 1970 is Sunday.
Step 4
Using what we've learned from Step 2
1st July 1970 is Sunday+3+2+3+2 = Sunday+3 = Wednesday
Dates of the 8th, 15th, 22nd and 29th of any month are especially easy as they are identical days to the 1st of the month.
So in our example, as the 1st is a Wednesday, 14 July 1970 will be Wednesday-1 = Tuesday
or however else you want to adjust to the given date, some people may find adding 6 easier.
Summary
To summarise then, there are roughly three bits of calculation required.
Firstly: get the 1st March of the year requested from a known 1st March in a leap year, by adding 2 days for every leap year back to the leap prior to the date given. Remembering that the year we are considering runs Mar to Feb.
+1 if given year is one year after leap
+2 if given year is two years after leap
+3 if given year is three years after leap
Secondly: get the 1st of the month requested, by adjusting from the 1st March that year. (Again dates in Jan and Feb are worked from Mar the previous year.)
Calculating the month is something you do while learning, someone who's practised simply needs to recall this table.
1st of the month = 1st March+
Mar +0 / Apr +3 / May +5 / Jun +1
Jul +3 / Aug +6 / Sep +2 / Oct +4
Nov +0 / Dec +2 / Jan +5 / Feb +1
Finally: adjust to the day requested from knowing that the day of the 1st=8th=15th=22nd=28th
Party trick
Now to impress someone, all you need to do is take a rough guess at their age, take a moment to calculate the 1st March of a leap year close to their expected birth year. Then go to them and ask their birth date and work from your 1st March guess.
Not convinced? let's try another example.
Knowing that 1st March 1968 is Friday anyone late 20's to mid 30's will be easy to calculate.
eg date given: 24 Aug 1975
= Friday -2(plus four years) +1+1+1 (for third year into set of four)
+6 for August (suggesting 1 Aug 1975 is Friday -2 +3 +6 = Friday)
+2 for the day
= Sunday
Other tricks
With practice other tricks would become obvious such as that days in November are the same as days in March, that 56 years ago, weekdays are the same etc etc..
So even if you asked for a day out of the blue, without preparation, you should, with practice, be able to do this within 10 sec or so, especially some dates being easier than others. With preparation I would expect the birthday trick to take some 5 seconds or maybe less.. time enough, maybe, to be nonchalant and to be mistaken for some sort of savant.
Answers to similar questions cascade from this.
For example, give all the years in the next 20 when July 4 will fall on a Tuesday. To do this you just need to recognise 4 July 2000 is Tuesday and understand that the leap year cycle of four years adds +1 for each of the first three years and then +2 for the transition to a leap.. therefore the years follow as
+1+1+1+2+1+1 = 7 days ie the next Tuesday -> 2006
+1+2+1+1+1+2 -> 8 so we now look to the next Tuesday at 14th day
+1+1+1+2+1 -> 2017
+1+1+2+1+1+1 -> 2023
+2+1+1+1+2 -> 2028
and so on.. this is two sequences overlapping.. not hard when you understand or recognise the pattern.
Incidentally anyone can find the modulus, that is the remainder of a number very fast as there is a high level of redundancy.
eg 1000 mod 7 = (1000-700) mod 7 = (300-70-70-70-70) mod 7 = 20 mod 7 = 6
This can lend itself to calculating days in the far past, or the far future if you so wished.
Of course going into the future you would add 5 days for every four years or add -2 days. You would also need to be aware of calendar changeover in the far past if you were to be accurate.
Conclusion
I would contest that this is simple enough for most anyone to do and even some people with learning difficulties will see the simplicity in calendars, especially if the structure of a calendar catches their attention and focus for any great length of time. Remember all that is involved is essentially three shifts - from known March 1st, shift to given years March 1st => shift to correct month => shift to correct day.
I wouldn't dismiss other feats but would suggest we need to be careful what we are impressed by. When such things draw such high praise, it is little wonder that those who can, continue to impress those who can't.