User Tools

Site Tools


day_of_week

Doomsday algorithm

Given a date, determine the day of the week it falls on. All based on last day of February in the year, the doomsday. Several places have info from which I've put this together for the Lexington Computer Group; see Wikipedia's entry.
calendars for demo

Century

Weds Tues Sun Fri
1900 2000 2100 2200
1500 1600 1700 1800
  • 1700: Sun shined on USA SUNDAY
  • 1800: Ate = Fries = FRIDAY
  • 1900: We'd this century WEDNESDAY
  • 2000: Tue-thousand TUESDAY

Computing

This is the odd-plus-eleven method.

  1. Determine anchor day of Century.
  2. Now work with the last 2 digits of year.
  3. Is year odd? If so add 11
  4. Divide by 2
  5. Is result odd? If so add 11
  6. Divide by 2
  7. Take mod 7
  8. Subtract this from 7; add resulting number of days to anchor day for the year's doomsday

Now compute day given month.

Jan Jan 3 unless it's leap year then Jan 4
Feb Feb 7 unless it's leap year then Feb 8
Mar Mar 7
apr, june, august,
october, december
month number (October is 10th month so Oct 10)
9-to-5 and 7-11 Sept 5, May 9th, July 11, Nov 7

Examples

Signing declaration of independence, July 4, 1776.
1700: anchor is Sunday
76 is even, /2 is 38, is even, mod 7 is 3, from 7 is 4, Sunday + 4 is Thursday is doomsday for 1776.
July 4, 7th month 11th day, hence 4th day, falls on Thursday.

Day of moon landing, July 20, 1969
1900: anchor is Wednesday
69 is odd +11 is 80 /2 is 40 is even, mod 7 is 5, from 7 is 2, so doomsday for 1969 is Friday
July 11 and 18 are doomsday, Friday, so July 20 is Sunday.

Signing WW1 armistice, Nov 11, 1918.
1900: anchor is Wednesday
18 is even, /2 is 9, 9 is odd +11 is 20. Mod 7 is 6, from 7 is 1, so doomsday for 1918 is Thursday
Nov 7 is Thursday, so 11th is Monday.

day_of_week.txt · Last modified: 2017/11/14 15:46 by smismi7