W = d + [ (13m - 1) / 5 ] + y + [ y / 4 ] + [ c / 4 ] - 2c
где d - число месяца; m - номер месяца, начиная с марта (март=1, апрель=2, ..февраль=12); y - номер года в столетии (например, для 1965 года y=65. Для января и февраля 1965 года, т. е. для m=11 или m=12 номер года надо брать предыдущий, т. е. y=64); c - количество столетий (например, для 2000 года c=20. И здесь для января и февраля 2000 года надо брать предыдущее столетие с=19); квадратные скобки означают целую часть полученного числа (отбрасываем дробную) .
Результат W делите на 7 и модуль остатка от деления даст день недели (воскресенье=0, понедельник=1, ..суббота=6)
Пример: для 31 декабря 2008 года определяем: d=31, m=10, y=8, c=20