I found another one. This one was on Yahoo! Answers:
http://uk.answers.yahoo.com/question/in ... 026AAgSsXCIt does take a little work, but it isn't impossible. With practice you can do it in your head.
Take the two digit year. (Example '08 in 2008).
Divide the year by 4 --> 2
Divide the year by 7 and take the remainder --> 1
Add these --> 3
Remember this table (it goes down by 2 each century) and repeats:
1600, 2000 = +6
1700, 2100 = +4
1800, 2200 = +2
1900, 2300 = 0
2000 has an offset of +6
3 + 6 --> 9
At any point you can take your number and divide it by 7 and only keep the remainder. So 9 is the same as 2.
Now remember this table of offsets for the months
033 - 614 - 625 - 035
September is the 9th month, so add 5.
2 + 5 = 7 (again you can divide by 7 and take the remainder) --> 0
Now add the day (30th) --> 0 + 30 = 30 (divide by 7, keep the remainder) --> 2
Here's the final lookup table:
Sunday = 0
Monday = 1
Tuesday = 2
Wednesday = 3
Thursday = 4
Friday = 5
Saturday = 6
So today (Sept 30, 2008) is a Tuesday.
Leap Year Rule:
The other rule is if it is a leap year and it is Jan. or Feb. you have to subtract 1. Remember that century years like 1700, 1800, 1900 are *not* leap years, unless they are divisible by 400 (e.g. 2000 was a leap year, 2400 is a leap year).
Here's another example:
12/07/1941
41 / 4 --> 10 (divide by 7, keep remainder ) --> 3
41 / 7 --> remainder 6
3 + 6 = 9 --> remainder 2
Century offset for 1900
--> +0 --> still 2
Month number for December is 5
2 + 5 = 7 --> remainder 0
Day = 7
0 + 7 = 7 --> remainder 0
12/07/1941 was a Sunday
Edit: Yes, it does work for dates before 2000. Another example:
July 4, 1776:
76 / 4 = 19 --> div 7 = remainder 5
76 / 7 --> remainder 6
5 + 6 = 11 --> remainder 4
1700 has a +4 offset for the century.
4 + 4 = 8 --> remainder 1
July (7th month) has an offset of 6
1 + 6 = 7 --> remainder 0
Add the day of the month (4)
0 + 4 = 4
July 4th, 1776 was a Thursday
One final note, the current Gregorian calendar started in 1583, so you can't go backward before then for dates (without adjusting for the Julian calendar).
Try it with your birthday and see if you can do it. If you want some help, let me know.