젤러의 합동식 계산기
달력 없이 순수 산술식만으로 어떤 날짜의 요일을 구하는 고전 알고리즘의 계산 과정을 단계별로 보여줍니다.
계산 단계
보정된 월(m)13
보정된 연도1999
세기 안의 연도(K)99
세기(J)19
h값0
요일
토요일
1월·2월은 전년도의 13월·14월로 취급해 계산합니다. h=0이 토요일, h=6이 금요일입니다. 그레고리력이 도입된 1582년 10월 15일 이후 날짜만 계산할 수 있습니다.
계산 방법
- 1연·월·일을 입력합니다.
- 2h값이 계산되는 각 단계(월 보정, 세기·연도 분리)를 확인합니다.
- 3결과 요일을 확인합니다.
자주 묻는 질문
h = (q + ⌊13(m+1)/5⌋ + K + ⌊K/4⌋ + ⌊J/4⌋ − 2J) mod 7 식으로 계산합니다. q는 날짜(일), m은 보정된 월, K는 세기 안의 연도(연도를 100으로 나눈 나머지), J는 세기(연도를 100으로 나눈 몫)입니다. h가 0이면 토요일, 1이면 일요일, ... 6이면 금요일입니다.
2월 29일(윤년)처럼 달의 길이가 해마다 바뀌는 경계를 식 하나로 깔끔하게 처리하기 위해서입니다. 1월·2월을 "작년의 연장선"으로 보면, 실제 세기·연도 경계(1월 1일)와 계산상 경계(3월 1일)가 어긋나 윤년 규칙이 자연스럽게 맞아떨어집니다.
그 날이 교황 그레고리오 13세가 그레고리력을 도입한 날이기 때문입니다. 나라마다 실제로 그레고리력을 받아들인 시기가 크게 달라(영국·미국은 1752년, 러시아는 1918년) 그 이전 날짜에는 이 식을 그대로 적용할 수 없습니다.
알아두면 좋은 점
- 무작위 날짜 2000개(1583~2199년)에서 이 계산 결과가 자바스크립트 Date 객체의 요일과 정확히 일치하는지 검증했습니다.
- 연말·연초 경계(1월 보정), 윤년 2월 29일, 100의 배수 평년(2100년)·400의 배수 윤년(2400년) 등 까다로운 경계 사례도 별도로 확인했습니다.
함께 보면 좋은 도구
마지막 검증: 2026년 9월 3일 · 결과는 참고용 추정치입니다.