Постоје различите методе за утврђивање дана у недељи за било који датум у прошлости или будућности. Методе су углавном засноване на алгоритмима за одређивање дана у недељи на основу датума, укључујући и оне који су засновани на табелама које не захтевају било какво израчунавање од стране корисника. Углавном се користи када неко жели да израчуна на који дан је неко рођен или на који дан се одиграо неки битан догађај. Постоје особе са синдромом саванта које могу у року од неколико секунди или чак неколико десетинки, да кажу име дана у недељи у зависности од датума.

Увод Да би се дан у недељи одређивао преко нумеричких операција потребно је дане у недељи представити бројевима (углавном од 0 до 6, што је еквивалентно стандардном ISO 8601 представљању бројева где је 1 = Понедељак, 2 = Уторак, итд.). То се постиже математичком операцијом модула по броју 7. Операција модула по броју 7 рачуна остатак при дељењу неког броја бројем 7. Тако се број 7 гледа као 0, број 8 као 1, итд.

Главни приступ којег користе скоро све методе је израчунавање броја протеклих дана од неког референтног датума (нпр. 1. јануар 1800. године је Среда) и затим прерачунавање колико је дана протекло од тог референтног датума и примене операције модула по броју 7 на добијени број, до датума за који се покушава утврдити дан у недељи.

Још један стандардни приступ је да се израчуна који је дан у недељи први дан века коме припада задати датум. Затим се траже подешавања за месеце, израчунава се број преступних година од почетка века, и онда се све то сабере са бројем година од почетка века. ??? На крају се све завршава са бројањем дана од почетка века, на шта се примењује операција модула по броју 7 како би се утврдило који је дан у недељи за тражени датум.

Корисни концепти Месеци који међусобно одговарају Месеци који међусобно одговарају су они месеци који почињу истим даном у недељи. На пример, септембар и децембар међусобно одговарају јер је 1. септембар исти дан као и 1. децембар. Месеци међусобно одговарају само ако је број дана између њихових првих дана дељив са 7 или другачије речено, ако су им први дани удаљени неколико целих недеља. На пример, фебруару одговара март јер фебруар има 28 дана, што је дељиво са 7, а то је уједно и тачно 4 недеље удаљено од 1. фебруара. Код преступних година, јануару и фебруару одговарају различити месеци у односу на обичне године због тога што фебруар има 29 дана.

Месеци који међусобно одговарају: Непреступне године: јануар и октобар фебруар, март и новембар април и јул ниједан месец не одговара августу. За преступне године: јануар, април и јул фебруар и август март и новембар ниједан месец не одговара октобру. За све године: септембар и децембар ниједан месец не одговара мају и јуну.

У табели месеца приказаној испод, месеци који међусобно одговарају имају исти број, што је чињеница која произилази из дефиниције.

Године које међусобно одговарају Година може почети једним од 7 дана, а у случају преступних година дан у недељи се мења у односу на непреступне године након 29. фебруара што даје укупно 14 могућих комбинација које година може имати.

Табеларни метод Основни метод Овај метод важи и за Грегоријански и за Јулијански календар.

Формула је:, где су: d је дан у месецу, m број месеца из табеле месеци, g су последње две цифре из броја године, и v је број који представља век. За Грегоријанске датуме то је број 6 ако је број састављен од прве две цифре века дељив са 4, а надаље 4-2-0 (2000-6, 2100-4, 2200-2, 2300-0). За Јулијанске датуме број 6 је за 1200, а сваки следећи век је за један мањи док се не дође до 0 када се почиње испочетка (1300-5, 1100-0).

Ако је резултат 0 онда је на тај дан била недеља, ако је резултат 1 онда је био понедељак, итд.

Табела дана Датум dдан 01 08 15 22 29 1 Понедељак 02 09 16 23 30 2 Уторак 03 10 17 24 31 3 Среда 04 11 18 25 4 Четвртак 05 12 19 26 5 Петак 06 13 20 27 6 Субота 07 14 21 28 0 Недеља

Табела месеци

Месец m Преступна година Јануар 0 -1 Фебруар 3 2 Март 3 Април 6 Мај 1 Јун 4 Јул 6 Август 2 Септембар 5 Октобар 0 Новембар 3 Децембар 5

Табела година Година по модулу 100 g 00 06 17 23 28 34 45 51 56 62 73 79 84 90 0 01 07 12 18 29 35 40 46 57 63 68 74 85 91 96 1 02 13 19 24 30 41 47 52 58 69 75 80 86 97 2 03 08 14 25 31 36 42 53 59 64 70 81 87 92 98 3 09 15 20 26 37 43 48 54 65 71 76 82 93 99 4 04 10 21 27 32 38 49 55 60 66 77 83 88 94 5 05 11 16 22 33 39 44 50 61 67 72 78 89 95 6

Табела векова Грегоријански календар Јулијански календар Век mod 4 Век mod 7v (1700, 2100) 1 (1400, 0700) 0 4 (1500, 0800) 1 3 (1800, 2200) 2 (1600, 0900) 2 2 (1700, 1000) 3 1 (1900, 2300) 3 (1800, 1100) 4 0 (2000, 2400) 0 (1200, 0500) 5 6 (1300, 0600) 6 5

Потпуна табела Датум 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 Месец 29 30 31 Година по модулу 28 Век по модулу 4 Век по модулу 7 4 7 недпон утосречетпет суб 01 07 12 18 24 1600 2000 0 0500 1200 5 9 12 субнедпонутосречетпет02 08 13 19 24 0600 1300 6 6 пет субнед понутосречет03 08 14 20 25 1700 2100 1 0700 1400 0 2 3 11 чет пет суб недпонуто сре 04 09 15 20 26 0800 1500 1 8 сречет пет субнедпонуто 04 10 16 21 27 1800 2200 2 0900 0200 2 5 уто сречет пет субнед пон 05 11 16 22 00 1000 0300 3 1 10 пон уто сре чет пет субнед 06 12 17 23 00 1900 2300 3 1100 0400 4 Одређивање дана у недељи за датум 1. јануар 2000. године (субота): дан у месецу: 1 ~ 31 (1) месец: 1 за јануар ~ 12 за децембар (1) година: 00 ~ 99 mod 28 и искошено за јануар и фебруару у преступним годинама (00) век mod 4 за Грегоријански календар и век mod 7 за Јулијански календат (20 или 0 ~ субота).

За датум по Грегоријанском календару (1. јануар 2000. године - субота) дан у месецу: 1 јануар у табели месеци: 6 последље две цифре године (подељене са 4): 0 број века: 6 Резултат је 13, што даје остатак од 6 када се подели са 7, па је 1. јануар 2000. године била субота.

За датум по Јулијанском календару (13. октобар 1307.) дан у месецу: 13 Октобар у табели месеци: 0 Последње две цифре године подељене са 4: 1 последње две цифре године: 7 број века: 5 Резултат је 26, што даје остатак од 5 при дељењу са 7, па је 13. октобар 1307. године био петак.

Гаусов алгоритам Карл Фридрих Гаус је у својим белешкама астрономских таблица описао методу за израчунавање дана сваког првог јануара било које године. Никада те белешке није објавио, али је то укључено у збирку његових радова која је издата 1927. године.

Гаусова метода је примењива на Грегоријански календар. Дане у недељи је означио бројевима од 0 до 6 почев са недељом. Дефинисао је и следеће операције: Дан у недељи првог јануара у некој години је

где је остатак при дељењу са , или mod .

Ова формула је претворена у табеларни метод за израчунавање дана у недељи за било који датум које су конструисали Крајчик и Швердтфегер.

Формуле изведене из Гаусовог алгоритма

Гаусова формула за први јануар може бити претворена у методу за одређивање дана у недељи за било који дан у недељи. За Грегоријански календар Нека је A - 1 = година = Y, m = месец - 2 mod 12 (март = 1,..., јануар = -1 mod 12 = 11 и фебруар = 12) и d = дан у месецу. Тада ова формула постаје

Ако је A - 1 = година = y + 100c, ова формула постаје

За Јулијански календар

Белешка: година - 1 за јануар и фебруар. За 1. јануар 2000. године, датум се третира као 11 месец 1999. године, d = 1 [2.6 × 11 - 0.2] = 28 mod 7 = 0 5R(99,4) = 5 × 3 = 15 mod 7 = 1 4R(1999,100) = 4 × 99 mod 7 = 4 × 1 = 4 6R(1999,400) = 6 × 399 mod 7 = 6 × 0 = 0 3R(99,7) = 3 × 1 = 3 5R(19,4) = 5 × 3 mod 7 = 1 w = 1 + 0 + 1 + 4 + 0 = 1 + 0 + 1 + 3 + 1 = 6 = субота. За 31. децембар 2000. године, датум се третира као 10. месец у години, d = 31 mod 7 = 3 [2.6 × 10 - 0.2] = 25 mod 7 = 4 5R(00,4) = 5 × 0 = 0 4R(2000,100) = 4 × 0 = 0 6R(2000,400) = 6 × 0 = 0 3R(00,7) = 3 × 0 = 0 5R(20,4) = 5 × 0 = 0 w = 3 + 4 + 0 + 0 + 0 = 3 + 4 + 0 + 0 + 0 = 7 mod 7 = 0 = недеља. За 30. април 1977. године, датум се третира као други месец у години, d = 30 mod 7 = 2 [2.6 × 2 - 0.2] = 5 5R(77,4) = 5 × 1 = 5 4R(1777,100) = 4 × 77 mod 7 = 0 6R(1777,400) = 6 × 177 mod 7 = 6 × 2 mod 7 = 5 3R(77,7) = 3 × 0 = 0 5R(17,4) = 5 × 1 = 5 w = 2 + 5 + 5 + 0 + 5 = 17 mod 7 = 3 = среда. 4. октобар 1582. године се третира као осми месец у години, d = 4 [2.6 × 8 – 2.2] = 4 5R(82,4) = 5 × 2 mod 7 = 3 3R(1582, 7) = 3 × 0 = 0 3R(82,7) = 3 × 5 mod 7 = 1 6R(15,7) = 6 × 1 = 6 w = 4 + 4 + 3 + 0 mod 7 = 4 + 4 + 3 + 1 + 6 mod 7 = 4 = четвртак. 1. јануар 0. године (први дан нове ере) се третира као 11. месец претходне године, d = 1 [2.6 × 11 – 2.2] = 5 5R(-1,4) = 5 × 3 mod 7 = 1 3R(-1,7) = 3 × 6 mod 7 = 4 3R(-1,7) = 3 × 6 mod 7 = 4 6R(0,7) = 6 × 0 = 0 w = 1 + 5 + 1 + 4 mod 7 = 1 + 5 + 1 + 4 + 0 mod 7 = 4 = четвртак.

Крајчиков алгоритам

Крајчик је предложио два метода за одређивање дана у недељи. Један је графички метод, а други користи следећу формулу

где је дан у недељи (недеља је представљена бројем 1); а , и су бројеви који означавају месец, дан и годину на основу следећих табела:

Месеци 1 2 3 4 5 6 7 8 9 10 11 12 1 4 3 6 1 4 6 2 5 0 3 5

За Грегоријански календар, [Година/100] mod 4 0 1 2 3 0 5 3 1 За Јулијански календар, [Година/100] mod 7 0 1 2 3 4 5 6 5 4 3 2 1 0 6

Коначно, број године је узима из следеће табеле: Последње две цифре годинеy 00 06 17 23 28 34 45 51 56 62 73 79 84 90 0 01 07 12 18 29 35 40 46 57 63 68 74 85 91 96 1 02 13 19 24 30 41 47 52 58 69 75 80 86 97 2 03 08 14 25 31 36 42 53 59 64 70 81 87 92 98 3 09 15 20 26 37 43 48 54 65 71 76 82 93 99 4 04 10 21 27 32 38 49 55 60 66 77 83 88 94 5 05 11 16 22 33 39 44 50 61 67 72 78 89 95 6

Шверфтфегерова варијација У овој верзији година је подељена на две цифре века и две цифре године. Приступ зависи од месеца. За ,

па је између 0 и 99. За ,

Формула за одређивање дана у недељи је

где су изабрани позитивни модули.

Вредност броја се узима из следеће табеле: 1 2 3 4 5 6 7 8 9 10 11 12 0 3 2 5 0 3 5 1 4 6 2 4

Вредност за се узима из следеће табеле, што ипак зависи од календара. За Грегоријански календар, 0 1 2 3 0 5 3 1 За Јулијански календар, 0 1 2 3 4 5 6 5 4 3 2 1 0 6

Друге варијације Друга варијација горњег алгоритма ради са мање табела. Благи недостатак је необична конвенција за бројање месеци и година. Формула је

где Y година минус 1 за јануар и фебруар, а година за остале месеце у години y су последње две цифре године c су прве две цифре године d је дан у месецу (1 до 31) m су премештени месеци (март=1,...фебруар=12) w је дан у недељи (0=недеља,..6=субота)

На пример, за 1. јануар 2000. године (година ' 1 за јануар)

Белешка: Први је за године које се завршавају са 00 али су преступне године, а други је за било коју годину која се завршава са 00.

Термин [2.6m - 0.2] mod 7 даје вредност за месец: m месеци m јануар 0 фебруар 3 март 2 април 5 мај 0 јун 3 јул 5 август 1 септембар 4 октобар 6 новембар 2 децембар 4

Термин y + [y/4] mod 7 даје вредност за године: y

Y mod 28 y 01 07 12 18–1 02 -– 13 19 24 2 03 08 14 –- 25 3 -- 09 15 20 26 4 04 10 –- 21 27 5 05 11 16 22 –- 6 06 -– 17 23 00 0

Термин [c/4] - 2c mod 7 даје вредност за векове: c

C mod 4 c 1 5 2 3 3 1 0 0

Сада је укупна формула: ; 1. јануар 2000. године се може израчунати на следећи начин: , d = 1, m = 0, y = 5 (0 - 1 mod 28 = 27), c = 0 (20 mod 4 = 0) , d = 1, m = 0, y = 4 (99 mod 28 = 15), c = 1 (20 - 1 mod 4 = 3)

Други математички алгоритми Зелеров алгоритам Код Зелеровог алгоритма месеци су означени бројевима од 3 за март до 14 за фебруар. За годину се претпоставља у марту, што значи да да ће на пример јануар 1995. године бити третиран као 13. месец 1994. године. Формула за Грегоријански календар је

где је Y година минус 1 за јануар и фебруар, а година за остатак месеци y последње две цифре године c прве две цифре године d дан у месецу (1 до 31) m су премештени месеци (март=1,...фебруар=12) w је дан у недељи (1=недеља,..0=субота)