Чтобы найти день недели математически необходимо пронумеровать все дни недели
так, чтобы следующий день недели был на 1 больше предыдущего, начиная с 1:
1-понедельник,2-вторник,3-среда,4-четверг,5-пятница,6-суббота,7-воскресенье
Чтобы найти день недели дня, отстоящего на N дней подойдет формула D₁=D+(N mod 7)
если надо определить какой день недели был раньше известного дня то остаток будет отрицательным и возможно получение отрицательного числа D₁
D₁=D+(остаток отделения N на 7)
если D₁ > 7 то D₁=D₁-7
если D₁ < 0 то D₁=D₁+7
где D₁- искомый день недели, а D - день недели известного дня отстоящего на N дней
Пример
16 февраля 2017 года - четверг D=4
Ищем день недели 5 марта 2017 года
05-03-2017 - 16-02-2017=17 дней
остаток от деления 17 на 7 равен 3
D₁=4+(остаток отделения N на 7)=4+3=7 - воскресенье
Ищем день недели 8 марта 2017 года
08-03-2017 - 16-02-2017=20 дней
остаток от деления 20 на 7 равен 6
D₁=4+(остаток отделения N на 7)=4+6=10
D₁ > 7 получаем D₁=D₁-7=10-7=3 это среда
Ищем день недели 16 февраля 2017 года,
зная что 8 марта 2017 года - среда D=3
N=-20 остаток от деления 20 на 7 равен 6 берём с обратным знаком равно -6
D₁=3+(-6)=-3
D₁ < 0 получаем D₁=D₁+7=-3+7=4 это четверг