이 장의 목차
1. 년주(年柱) 계산 — 입춘(立春) 기준
사주 명리학에서 한 해의 경계는 양력 1월 1일도, 음력 정월 초하루도 아닌 입춘(立春, 태양황경 315도, 대략 양력 2월 4일 전후)이다. 이는 명리학이 태음태양력의 날짜 표기 체계가 아니라, 태양의 실제 운행(황경·절기)에 따라 계절 에너지가 바뀌는 시점을 기준으로 삼는 절기력(節氣曆) 체계이기 때문이다. 명리학은 애초에 농경사회에서 계절의 순환과 기후 변화를 예측·설명하기 위한 체계로 발전했으므로, 실제 태양 위치가 만들어내는 절기 변화가 '진짜 새해'의 시작이라고 본다.
실무적으로 이는 다음을 의미한다 — 양력으로 1월 중하순에서 2월 초순 사이(즉 그 해 음력 정월 초하루 이전이라도)에 태어난 사람은, 입춘이 지나기 전이라면 년주는 전년도 간지를 그대로 쓴다. 반대로 음력으로는 아직 작년(예: 음력 12월)이라도 양력 날짜가 이미 입춘을 지났다면 년주는 새해 간지로 바뀐다. 즉 년주의 경계는 '음력 1월 1일'과 정확히 일치하지 않으며, 양력 날짜도 아니고, 오직 태양의 황경이 315도가 되는 그 순간(연도마다 2월 3일~5일 사이에서 미세하게 요동)이 기준이다. 일부 대중 만세력 서비스는 계산 편의상 2월 4일을 고정값으로 근사 처리하기도 하는데, 이는 대부분의 해에는 문제가 없으나 입춘 시각이 자정 전후로 걸치는 특정 연도·특정 출생시각에는 실제 절입 시각과 근사값 사이에 오차가 생길 수 있어, 정밀 계산을 표방하는 서비스라면 한국천문연구원(KASI) 등의 공식 절기 시각 데이터를 참조하는 것이 바람직하다.
년간지(年干支)를 구하는 산식은 60갑자 순환 위에서 기준년(예: 1984년=갑자년)으로부터의 차이를 60으로 나눈 나머지를 구하는 방식이 일반적이다. 예컨대 (해당년도 - 4) mod 10으로 년간의 순번을, (해당년도 - 4) mod 12로 년지의 순번을 구하는 식의 산식이 널리 쓰이는데, 이는 서기 4년이 갑자년이라는 사실에 기반한 모듈러 연산이다.
2. 월주(月柱) 계산 — 12절(節)과 오호둔법(五虎遁法)
월주 역시 년주와 같은 논리로, 음력 월이 아니라 24절기 중 홀수 번째에 해당하는 '절(節)' 12개를 경계로 바뀐다. 24절기는 절(節)과 중(中)이 번갈아 나타나는데(예: 입춘(절)-우수(중)-경칩(절)-춘분(중)...), 명리학에서 월지(月支)가 바뀌는 시점은 오직 '절입(節入)' 순간이며 '중기(中氣)'는 월의 경계에 영향을 주지 않는다. 이 12절은 일 년 열두 달의 월지를 순서대로 인(寅)월부터 축(丑)월까지 확정짓는다 — 명리학에서 한 해의 첫 달은 인월(寅月, 입춘~경칩 전)이다.
| 절기 | 대략적 양력 시기 | 확정되는 월지 |
|---|---|---|
| 입춘(立春) | 2월 4일경 | 인월(寅月) — 사주상 한 해의 첫 달 |
| 경칩(驚蟄) | 3월 6일경 | 묘월(卯月) |
| 청명(淸明) | 4월 5일경 | 진월(辰月) |
| 입하(立夏) | 5월 6일경 | 사월(巳月) |
| 망종(芒種) | 6월 6일경 | 오월(午月) |
| 소서(小暑) | 7월 7일경 | 미월(未月) |
| 입추(立秋) | 8월 8일경 | 신월(申月) |
| 백로(白露) | 9월 8일경 | 유월(酉月) |
| 한로(寒露) | 10월 8일경 | 술월(戌月) |
| 입동(立冬) | 11월 8일경 | 해월(亥月) |
| 대설(大雪) | 12월 7일경 | 자월(子月) |
| 소한(小寒) | 1월 6일경 | 축월(丑月) — 사주상 그 해의 마지막 달 |
월지가 정해지면 월간(月干)은 그 해의 년간에 따라 자동으로 결정되는데, 이 규칙을 오호둔법(五虎遁法) 또는 오호둔월법(五虎遁月法)이라 부른다. '호랑이를 다섯 방식으로 숨긴다'는 이름은 인월(寅月, 호랑이 달)의 월간을 년간 그룹별로 정하는 데서 비롯되었다. 원리는 년간이 갑(甲) 또는 기(己)면 인월의 월간은 병(丙)에서 시작하고, 이후 묘월은 정(丁), 진월은 무(戊)… 순서로 월지가 한 칸씩 나아갈 때마다 월간도 순서대로 한 칸씩 진행한다. 나머지 년간 그룹도 동일한 논리로 각자의 시작 천간만 다르다.
| 년간(年干) 그룹 | 인월(寅月)의 월간 | 이후 월간 진행 |
|---|---|---|
| 갑(甲)년·기(己)년 | 병인(丙寅) | 정묘·무진·기사·경오·신미·임신·계유·갑술·을해·병자·정축 |
| 을(乙)년·경(庚)년 | 무인(戊寅) | 기묘·경진·신사·임오·계미·갑신·을유·병술·정해·무자·기축 |
| 병(丙)년·신(辛)년 | 경인(庚寅) | 신묘·임진·계사·갑오·을미·병신·정유·무술·기해·경자·신축 |
| 정(丁)년·임(壬)년 | 임인(壬寅) | 계묘·갑진·을사·병오·정미·무신·기유·경술·신해·임자·계축 |
| 무(戊)년·계(癸)년 | 갑인(甲寅) | 을묘·병진·정사·무오·기미·경신·신유·임술·계해·갑자·을축 |
3. 일주(日柱) 계산 — 60갑자 순환과 JDN 방식
일주는 사주 네 기둥 중 유일하게 어떤 절기나 월력과도 무관하게, 태초의 어느 기준일로부터 하루도 끊기지 않고 60갑자가 순서대로 반복되는 절대 순환이다. 즉 특정 연도나 월의 경계와 상관없이, 오늘이 갑자일이면 내일은 을축일, 60일 뒤에 다시 갑자일이 돌아오는 식으로 영원히 이어진다. 이 때문에 일주 계산은 '그 날짜가 역사상 몇 번째 날인가'를 정확히 셈하는 문제로 환원되며, 실무 계산에서는 흔히 율리우스 적일(Julian Day Number, JDN) 방식을 사용한다.
JDN은 기원전 4713년 1월 1일(그레고리력 기준 환산일)을 0으로 놓고 매일 1씩 늘어나는 절대 일련번호로, 그레고리력의 년·월·일을 입력하면 정수 하나로 환산해주는 표준화된 천문학적 계산법이다. 임의의 두 날짜 사이의 정확한 일수 차이를 윤년·월별 일수 차이에 구애받지 않고 바로 구할 수 있다는 것이 장점이며, 이 정수값을 60으로 나눈 나머지에 알려진 기준 오프셋(예: 특정 기준일의 갑자 순번)을 더하면 그 날짜의 60갑자 순번이 정확히 산출된다. 전통적인 만세력 책자는 이를 수백 년치 표로 미리 인쇄해 두었지만, 디지털 계산에서는 JDN 변환 공식 두어 줄로 임의의 날짜에 대해 즉시 계산할 수 있다.
덕사주타로 서비스(src/manseryeok.js)도 이 방식을 그대로 채택하고 있다 — 입력된 양력 날짜를 JDN으로 변환한 뒤, 알려진 기준 오프셋을 더해 60으로 나눈 나머지로 일간·일지 순번을 도출한다. 이는 학계·업계에서 가장 신뢰도 높은 방식으로 꼽히는 표준 접근이다.
4. 시주(時柱) 계산 — 오서둔법(五鼠遁法)
시지(時支)는 하루를 2시간씩 12구간으로 나눈 12시진(十二時辰) 중 출생 시각이 속하는 구간으로 정해진다. 시간(時干)은 그 날의 일간(日干)에 따라 자동으로 결정되는데, 이 규칙을 오서둔법(五鼠遁法) 또는 오서둔시법(五鼠遁時法)이라 부른다. '쥐를 다섯 방식으로 숨긴다'는 이름은 자시(子時, 쥐의 시간)의 시간을 일간 그룹별로 정하는 데서 비롯되었으며, 오호둔법과 완전히 같은 논리 구조를 하루 열두 시진 단위로 축소 적용한 것이다.
| 시지 | 시간대 | 시지 | 시간대 |
|---|---|---|---|
| 자시(子時) | 23:00~01:00 | 오시(午時) | 11:00~13:00 |
| 축시(丑時) | 01:00~03:00 | 미시(未時) | 13:00~15:00 |
| 인시(寅時) | 03:00~05:00 | 신시(申時) | 15:00~17:00 |
| 묘시(卯時) | 05:00~07:00 | 유시(酉時) | 17:00~19:00 |
| 진시(辰時) | 07:00~09:00 | 술시(戌時) | 19:00~21:00 |
| 사시(巳時) | 09:00~11:00 | 해시(亥時) | 21:00~23:00 |
| 일간(日干) 그룹 | 자시(子時)의 시간 | 이후 시간 진행 |
|---|---|---|
| 갑(甲)일·기(己)일 | 갑자(甲子) | 을축·병인·정묘·무진·기사·경오·신미·임신·계유·갑술·을해 |
| 을(乙)일·경(庚)일 | 병자(丙子) | 정축·무인·기묘·경진·신사·임오·계미·갑신·을유·병술·정해 |
| 병(丙)일·신(辛)일 | 무자(戊子) | 기축·경인·신묘·임진·계사·갑오·을미·병신·정유·무술·기해 |
| 정(丁)일·임(壬)일 | 경자(庚子) | 신축·임인·계묘·갑진·을사·병오·정미·무신·기유·경술·신해 |
| 무(戊)일·계(癸)일 | 임자(壬子) | 계축·갑인·을묘·병진·정사·무오·기미·경신·신유·임술·계해 |
5. 진태양시(眞太陽時) 보정
사주 계산에서 시주는 시계가 가리키는 '표준시(標準時)'가 아니라 태양이 실제로 그 지역 하늘의 정남쪽(자오선)을 통과하는 시점을 정오로 삼는 '진태양시(眞太陽時, apparent solar time)'를 써야 한다는 것이 전통 명리학의 원칙이다. 표준시는 한 나라 또는 지역이 하나의 대표 경도(한국은 동경 135도, 일본 아카시 기준)를 기준으로 시계를 통일한 인위적 약속이지만, 실제 태양의 남중 시각은 관측지의 경도에 따라 달라진다.
한국 표준시(KST)의 기준 경도는 동경 135도이지만, 대한민국 대부분의 지역은 이보다 서쪽(예: 서울은 약 동경 126.9~127도)에 위치한다. 경도 1도 차이는 시간으로 약 4분에 해당하므로, 서울 기준으로는 표준시가 실제 태양시보다 약 30~32분 앞서 있는 셈이다. 즉 시계로 정오(12:00)일 때 서울 하늘에서 태양은 아직 남중하지 않았고, 진태양시로는 약 11:28분경이 된다. 이 차이를 보정하지 않으면, 시지(時支)의 경계(2시간 단위)에 걸친 출생, 특히 매 짝수시 정각 부근 출생자의 시주가 실제와 다르게 산출될 위험이 있다.
정밀한 진태양시 보정은 경도차 보정(균시차 없이 단순 경도 환산만 반영하는 방식)과, 여기에 지구 공전 궤도의 이심률·자전축 기울기로 인한 균시차(均時差, equation of time, 계절에 따라 최대 ±16분 안팎 변동)까지 반영하는 정밀 방식으로 나뉜다. 실무 만세력 서비스 상당수는 경도차 보정까지만 적용하고 균시차는 생략하는 경우가 많으며, 이는 실전 통변에서 시지 경계에 걸린 애매한 시각의 출생자를 다룰 때 특히 유의해야 할 지점이다. 덕사주타로 서비스는 현재 이러한 진태양시 보정 로직을 별도로 적용하지 않고, 사용자가 입력한 출생 시각을 표준시 그대로 12시진에 대응시키는 단순한 방식을 쓰고 있다 — 이는 서비스의 현재 구현상 알려진 근사치이며, 시지 경계에 걸린 출생자의 경우 정밀 진태양시 보정 시 시주가 달라질 수 있다는 점을 이용자에게 안내할 필요가 있다.
6. 야자시(夜子時)·조자시(早子時) 논쟁
자시(子時, 23:00~01:00)는 하루의 경계를 정확히 절반으로 가로지르는 유일한 시진이기 때문에, 이 두 시간 동안 태어난 경우 일주(日柱)를 어느 날짜로 잡을 것인가를 두고 명리학계에 오래된 논쟁이 있다. 크게 두 입장이 대립한다.
① 야자시/조자시 이분설(분리설). 이 학파는 자시를 다시 둘로 쪼갠다 — 밤 23:00~24:00 사이는 '오늘'이 아니라 이미 '내일의 기운'이 시작된 것으로 보아 야자시(夜子時)라 부르고, 이때 태어나면 일주는 다음날 간지를 쓰되 시지만 자시를 적용한다. 반대로 자정 이후 00:00~01:00는 조자시(早子時, 또는 정자시·正子時)라 하여 그날(당일) 간지를 그대로 쓴다. 이 입장은 하루의 경계를 '자정(00:00)'으로 보되, 자시라는 시진 개념과 날짜 경계가 어긋나는 문제를 시진을 쪼개서 해결하려는 절충안이다.
② 자시 통합설(비분리설). 이 학파는 애초에 하루의 시작을 자시가 시작되는 순간(23:00)으로 보아야 한다고 주장하며, 자시를 둘로 쪼개는 것 자체가 인위적이고 명리학의 전통적 12시진 체계에 없던 후대의 편법이라고 비판한다. 이 입장에서는 23:00~01:00 전체가 하루의 시작을 여는 단일한 자시이며, 일주는 시각과 무관하게 그 날짜(예컨대 밤 11시가 속한 달력상의 날) 하나로 고정해 처리하거나, 반대로 아예 23시를 새 날의 시작으로 규정해 23:00 이후는 통째로 다음날로 넘기는 방식을 취한다(세부적으로도 몇 갈래로 나뉜다).
두 입장 모두 고전 문헌상 명시적 합의가 없는 상태로 현대까지 이어져 온 실무적 쟁점이며, 한국의 대중적 만세력 서비스나 역술인 사이에서도 어느 쪽을 채택하는지가 갈린다. 서비스 구현 확인 덕사주타로 서비스의 계산 모듈(src/manseryeok.js)을 직접 검토한 결과, 이 서비스는 야자시/조자시를 별도로 구분하는 로직을 두고 있지 않다. 사용자가 입력한 양력(혹은 변환된 양력) 날짜를 그대로 JDN 변환의 기준일로 사용해 일주를 산출하며, 시각 입력은 12시진 중 하나(자시 포함)로 단순 매핑될 뿐, 23시대 출생이라 해서 자동으로 다음날 날짜로 일주를 이월시키는 처리는 코드상 존재하지 않는다. 즉 이 서비스는 사실상 '자시 통합(비분리)' 계열의 단순화된 방식을 채택하고 있으며, 사용자가 입력한 달력상의 날짜를 일주 산출의 기준일로 그대로 신뢰한다. 이는 야자시 이분설을 엄격히 적용하는 전통 방식과는 차이가 있을 수 있는 지점으로, 23:00~24:00 출생자의 경우 야자시설을 적용하는 다른 만세력과 일주가 하루 다르게 나올 가능성이 있다는 점을 리딩 시 유의해야 한다.
7. 음력·양력 변환과 윤달 처리
한국의 전통 역법에서 생년월일은 흔히 음력(태음태양력)으로 기억되고 구전되지만, 명리학의 실제 계산(특히 년주·월주의 절기 경계, 일주의 JDN 계산)은 모두 양력(그레고리력) 날짜를 기준으로 이루어진다. 따라서 음력 생일을 입력받는 서비스는 반드시 내부적으로 음력→양력 변환을 거쳐야 하며, 이 변환표는 태음월(삭망월, 약 29.53일)과 태양년(약 365.24일) 사이의 차이를 메우기 위해 몇 년에 한 번씩 삽입되는 윤달(閏月)을 정확히 반영해야 한다.
윤달은 이름 그대로 특정 월 뒤에 '한 번 더' 끼워 넣는 달로, 어느 해에 몇 월 뒤에 윤달이 오는지는 태양의 절기(중기·中氣) 배치와 삭망월의 어긋남을 계산해 결정되며 몇 가지 규칙(무중치윤법·無中置閏法 등)이 있다. 명리학에서 윤달에 태어난 경우 월주를 어떻게 잡을지도 실무적으로 논쟁거리인데, 대다수 유파는 결국 절기(입절 시각) 기준으로 월지를 정하므로 '음력 윤달'이라는 표기 자체는 절기 기준 월주 산출에는 직접 영향을 주지 않는다 — 윤달이든 아니든 그 날짜가 양력으로 환산되어 어느 절기 구간에 속하는지만 보면 되기 때문이다. 다만 음력 날짜를 양력으로 정확히 환산하는 단계에서 윤달 삽입 여부를 놓치면 한 달 가까이 날짜가 어긋날 수 있으므로, 변환표 자체의 정확성이 매우 중요하다.
덕사주타로의 src/manseryeok.js는 1900~2100년 구간을 커버하는 공개적으로 널리 쓰이는 비트마스크 방식의 음력 정보 테이블을 내장해 음력→양력 변환에 사용하고 있으며, 코드 주석에도 이는 근사 테이블로서 실서비스 정밀도를 높이려면 한국천문연구원(KASI)의 공식 음양력 변환 데이터로 교체하는 것이 바람직하다고 명시되어 있다. 대다수 통용 연도에는 문제가 없으나, 절기 입절 시각이나 삭망 계산의 미세한 오차가 누적되는 특정 케이스에서는 실제 KASI 공식 데이터와 하루 이내의 차이가 발생할 가능성을 배제할 수 없다.
8. 대운(大運) 계산법 — 순행·역행과 대운수
대운은 사주 원국이 태어난 순간의 '고정된 사진'이라면, 인생의 시기마다 그 위에 겹쳐지며 흐름을 바꾸는 '동적인 배경 음악'에 해당한다. 대운은 월주(月柱)를 출발점으로 삼아 60갑자를 순서대로(순행) 또는 거꾸로(역행) 밟아나가며, 통상 10년 단위로 하나의 대운 간지가 적용된다. 순행·역행의 방향은 두 가지 조건의 조합으로 정해진다 — ① 년간(年干)의 음양, ② 성별(남성/여성). 규칙은 다음과 같다: 남성이면서 년간이 양간(甲丙戊庚壬)이거나, 여성이면서 년간이 음간(乙丁己辛癸)인 경우 '양남음녀(陽男陰女)'는 순행(順行, 월주에서 60갑자 순서대로 다음 간지로 나아감)한다. 반대로 남성이면서 년간이 음간이거나, 여성이면서 년간이 양간인 '음남양녀(陰男陽女)'는 역행(逆行, 월주에서 60갑자 역순으로 이전 간지로 거슬러 감)한다.
대운이 몇 살부터 바뀌는지를 가리키는 숫자를 대운수(大運數)라 한다. 대운수는 출생일로부터 다음 절기(순행의 경우) 또는 직전 절기(역행의 경우)까지 남은 실제 날짜 수를 3으로 나눈 값(나머지에 따라 반올림 내지 절사 관행이 유파별로 조금씩 다름)으로 산출하는 것이 표준적 방법이다. '3일을 1년으로 환산한다'는 원칙(3일=1년, 1일=4개월, 나아가 시간 단위까지 세분하는 유파도 있음)에 근거하며, 이는 팔괘·삼재(三才) 사상에서 비롯된 전통적 환산 비율로 이해된다. 예컨대 순행하는 사람이 출생일로부터 다음 절입일까지 15일이 남아 있다면 대운수는 5(15÷3)가 되어, 만 5세(정확히는 대운수가 가리키는 나이)부터 첫 대운이 시작되고 이후 10년마다 다음 대운으로 넘어간다.
대운은 원국의 오행 구조 위에 특정 오행 기운을 10년간 얹어 놓는 것으로 해석되며, 원국에서 부족했던 오행을 보충해주는 대운(용신운)인지, 이미 넘치는 오행을 더 부추기는 대운(기신운)인지가 그 10년간의 길흉 판단의 핵심 축이 된다(5장 신강신약·용신론에서 상술). 대운의 간지 자체도 원국의 다른 글자들과 합충형파해(4장) 관계를 맺으므로, 단순히 '좋은 오행이 오는 대운'과 '나쁜 오행이 오는 대운'이라는 이분법을 넘어, 그 대운 간지가 원국·세운과 어떤 합충 관계를 형성하는지까지 함께 살피는 것이 실전통변(15장)의 기본이다.
9. 세운(歲運)·월운(月運)·일운(日運)의 개념
대운이 10년 단위의 굵직한 흐름이라면, 세운(歲運)은 매년 바뀌는 그 해의 간지, 즉 우리가 흔히 '올해는 무슨 띠의 해'라고 부르는 연간지를 사주 원국·대운 위에 겹쳐서 보는 것이다. 세운은 매년 입춘을 기준으로 바뀌며(1절에서 다룬 년주 산출 원리와 동일한 경계), 그 해 한 해 동안 원국·대운과 맺는 합충형파해 관계 및 십성 관계가 그 해의 주요 이슈(예: 재물운, 애정운, 이직운 등 10~13장에서 다루는 주제)를 가늠하는 잣대가 된다.
월운(月運)은 세운을 다시 매달(절기 기준 월지) 단위로 세분한 것이고, 일운(日運)은 그날그날의 일진(日辰), 즉 그날의 60갑자 일주를 사주 원국·대운·세운 위에 겹쳐 그날 하루의 기운을 보는 것이다. 대운-세운-월운-일운은 마치 망원경의 배율을 바꿔가며 같은 인생을 다른 시간 해상도로 들여다보는 것과 같아서, 대운이 인생의 '큰 계절'을, 세운이 '그 계절 안의 한 해'를, 월운·일운이 각각 '그 해의 한 달', '그 달의 하루'를 보여준다고 비유할 수 있다. 실전 통변에서는 이 네 층위를 원국과 함께 입체적으로 겹쳐 보되, 하위 단위(월운·일운)로 내려갈수록 예측의 확정성은 낮아지고 참고적 성격이 강해진다는 것이 통설이며, 대운과 세운의 조합이 실전 통변의 핵심 축을 이룬다.