## 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.

- Determine anchor day of Century.
- Now work with the last 2 digits of year.
- Is year odd? If so add 11
- Divide by 2
- Is result odd? If so add 11
- Divide by 2
- Take mod 7
- 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.

- Last modified: 2017.11.14 15:46
- by smismi7