1) Берём нужную дату и день недели, далее берём дату для которого надо узнать день недели.
2) Вычисляем разницу в днях с учетом високосных годов.
3) Делим на 7 с остатком
4) От текущего дня недели
сдвигаем на остаток
Например
1) 1 января, Воскресенье, 2012 следующая дата 1 января 2112 года
2) между 2012 и началом 2112 будет ровно 24 високосных года, тогда
365 *100 + 24 = 36524 дня
3) делим 36524 : 7 = 5217 остаток 5
4) Сдвигаем на 5 единиц день недели пон.-вт.-ср-чт-птн.
Итог 1 января 2112 года - это пятница