Вам нужна отправная точка. Сегодня все хорошо. Жесткий код.
Затем вам нужно указать количество дней в месяце. Это 31, 28, 31, 30, 31, 30, .... Таким образом, вы можете начать складывать и вычитать 365% 7 в день недели для каждого года и (сумма дней в разнице месяцев) снова% 7. И так далее.
Предостережение: високосные годы происходят на каждом 4-м году, но не на каждом 100-м, если только этот год не кратен 400.