Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
 Pripravte vstupy . Algoritmus predpokladá , deň , mesiac a rok . Čísla 
 
 Zeller je algoritmus mesiacov od troch do 14 rokov , počnúc marci a končí s februárom . To zaručuje , že prestupné dni vždy spadajú na konci roka , čo zjednodušuje výpočty . 
 
 - Li mesiac < 3 potom, mesiac = mesiac + 12 
 2 
 Vypočítajte storočia a rok storočia . Storočia pre 1950 by malo byť 19 , aj keď patrí do dvadsiateho storočia . 
 
 Storočia = floor ( rok /100 ) yearOfCentury = rok mod 100 
 3 
 Hľadať deň v týždni , ktorý začal storočia . 
 
 denVtýdnu = floor ( storočie /4 ) + 5 * storočia 
 
 Zeller , že tento výpočet , modulo sedem , dá deň týždeň , že nejaký daný storočia začal . Výpočet podlaha spracováva skutočnosť , že každý štvrtý storočia je krátky skok dňa . 
 4 
 Spočítajte si deň v týždni , ktorý rok začal na . 
 
 DenVtýdnu = denVtýdnu + yearOfCentury + poschodie ( yearOfCentury /4 ) 
 
 Každý rok začína na ďalší deň v týždni , než v predchádzajúcom roku , s výnimkou prestupných rokov . Tento výpočet modulo sedem , udáva deň v týždni prvý deň v roku . 
 5 
 Nájdite deň v týždni , mesiac začal na . 
 
 DenVtýdnu = denVtýdnu + podlaha ( ( mesiac + 1 ) * 26 ) /10 ) 
 
 Toto je srdce Zeller algoritmu . Zeller poznamenal , že tento výpočet je schopný určiť , ktorý deň v týždni začne za mesiac . To eliminuje potrebu vyhľadávacích tabuliek na určenie dĺžky každého mesiaca . 
 6 
 Pridajte deň v mesiaci , a vypočítať deň v týždni , na ktorý dátum spadá . 
 
 DenVtýdnu = denVtýdnu + daydayOfWeek = denVtýdnu mod 7 
 7 
 Previesť dátum podľa ISO dátum týždeň noriem . 
 
 ISO dátum deň v týždni - of - týždne začať s pondelkom = 1. Zeller algoritmus používa Sobota = 0. Prevod používa jednoduché aritmetiky modulo . 
 
 DenVtýdnu = ( ( denVtýdnu + 5 ) mod 7 ) + 1