제왕절개 날짜, 이사 날짜처럼 후보가 수십 개일 때 하나씩 보지 않고 구간을 통째로 계산해 점수로 줄 세운다. 만세력·절기·십신은 전부 엔진이 계산하고 사람은 결과만 본다.
[1위] 2028-03-21(화) 11:39~13:38 — 71점
· 오행 다섯 기운이 모두 있음
· 일간 을(목) — 중화 (44%)
날짜별 최고점
2028-03-07(화) 60.1점 ███████████████
2028-03-09(목) 65.5점 ████████████████
2028-03-14(화) 54점 ██████████████
2028-03-16(목) 57.2점 ██████████████
2028-03-21(화) 71점 ██████████████████ ← 1위
2028-03-23(목) 65.7점 ████████████████
2028-03-28(화) 68.7점 █████████████████
2028-03-30(목) 58.2점 ███████████████
npx github:wineny/saju taegil --from 2028-03-06 --to 2028-03-31 --dow 화목 --hours 09:00-16:00Node.js만 있으면 된다. 설치 없이 바로 실행된다. 자주 쓸 거면 npm i -g github:wineny/saju 한 번 해두면 다음부터 saju로 짧게 쓴다.
날짜를 고를 게 아니어도, 생년월일시 하나로 명식이 어떻게 나오는지 볼 수 있다.
npx github:wineny/saju chart --born 1988-03-15T07:30 --city 서울사주 명식 — 1988-03-15T07:30 (서울, 진태양시 -41분 보정 (경도 -32분 + 균시차 -9분))
년주 戊辰(무진) 월주 乙卯(을묘) 일주 己巳(기사) 시주 丁卯(정묘)
오행 목 3.4 / 화 2.0 / 토 3.4 / 금 0.4 / 수 0.4
일간 기(토) — 약간 신강 56%
태어난 시각을 모르면 날짜만 줘도 된다 (--born 1988-03-15). 시주만 빠진다.
Claude Code / Codex 스킬로 설치하면 "내 사주 봐줘", "택일 해줘"로 부를 수 있다 — 설치 참고.
제왕절개 날짜를 고르다가 만들었다. 후보가 수십 개인데 하나씩 봐주는 도구가 없어서, 구간을 통째로 계산해 줄 세우는 걸 만들었다. 만들다 보니 명식·궁합도 같이 나왔다.
만들면서 절기 시각이 한 시간 어긋나 있는 걸 발견했다. 이 도구가 정확도에 유난히 신경 쓰는 이유이기도 하다 — 아래에 적어뒀다.
정확도 — 절기는 북경시로 계산된다, 시간은 진태양시로 보정한다 (펼치기)
사주 라이브러리로 널리 쓰이는 lunar-javascript는 중국 라이브러리라 절기 시각을 북경시(UTC+8)로 계산한다. 한국 표준시(UTC+9)와 한 시간 차이다.
| 절기 | 라이브러리 | 한국천문연구원 (KST) |
|---|---|---|
| 2027 입춘 | 02-04 09:46 | 02-04 10:46 |
| 2027 우수 | 02-19 05:33 | 02-19 06:33 |
년주와 월주는 절기를 기준으로 바뀐다. 보정하지 않으면 2027-02-04 09:47~10:46에 태어난 사람은 여덟 글자 중 네 글자가 통째로 틀린다.
2027-02-04 10:46 → 丙午년 辛丑월 (입춘 전)
2027-02-04 10:47 → 丁未년 壬寅월 (입춘 후)
이 저장소는 년·월주를 뽑을 때 KST에서 60분을 빼 북경시로 환산해 넣는다. 위 전환 시각이 한국천문연구원 값과 일치하는 것을 확인했다.
lunar-javascript를 쓰는 다른 도구를 쓰고 있다면, 절기 경계 근처 생일로 한 번 확인해 보길 권한다.
| 항목 | 기준 | 이유 |
|---|---|---|
| 년주·월주 | 표준시(북경시 환산) | 절기는 천문 현상이라 그 순간이 지구 어디서나 같다 |
| 일주·시주 | 진태양시(경도 + 균시차) | 지역의 실제 태양 위치가 기준이다 |
월주 경계는 절(節) 이다 — 입춘·경칩·청명 같은 것. 우수·춘분·곡우 같은 중기(中氣)는 월주와 무관하다.
한국 표준시는 동경 135° 기준인데 서울은 126.978°다. 그만큼 시계가 태양보다 앞선다.
경도 보정(분) = (경도 − 135) × 4 서울 → −32분
여기에 균시차(Equation of Time) 를 더한다. 지구 궤도가 타원이고 자전축이 기울어 있어 태양의 남중 시각이 계절마다 흔들리는데, 연중 −14 ~ +16분 을 오간다. 경도 보정만 하고 이걸 빼먹으면 시주 경계가 최대 16분 어긋난다.
2월 중순 균시차 −14.5분 → 서울 총 보정 −46.6분
4월 초 균시차 −4.0분 → 서울 총 보정 −36.0분
그래서 이 도구가 알려주는 시각 구간은 09:46~11:45 같은 어중간한 값이다. 그게 정상이다.
--city 부산 처럼 도시를 주거나 --lon으로 경도를 직접 줄 수 있다. --no-solar-time으로 보정을 끄면 다른 만세력과 대조할 수 있다.
CLI로 바로 쓰려면 설치가 필요 없다 — 맨 위 예시처럼 npx github:wineny/saju .... Node.js만 있으면 된다. npm 설치 없음 — 만세력 엔진(lunar-javascript, MIT)이 저장소에 동봉돼 있다.
자주 쓸 거면 한 번만 전역 설치해 둔다.
npm i -g github:wineny/saju
saju chart --born 1988-03-15T07:30Claude Code / Codex 스킬로 쓰려면 저장소를 내려받아 스킬 폴더로 복사한다.
git clone https://github.com/wineny/saju.git
cd saju
bash install.sh # ~/.claude/skills/saju 로 복사그러면 Claude Code에서 /saju 또는 "내 사주 좀 봐줘", "택일 해줘" 로 부를 수 있다.
saju chart --born 1988-03-15T07:30 --city 서울 년주 戊辰(무진) 월주 乙卯(을묘) 일주 己巳(기사) 시주 丁卯(정묘)
오행 목 3.4 / 화 2.0 / 토 3.4 / 금 0.4 / 수 0.4
일간 기(토) — 약간 신강 56%
일주 기사 — 십이운성 제왕 · 납음 대림목
십신
년주 천간 겁재 지지 겁재·편관·편재
...
관계
⚠ 년월 해 진묘
절기 경칩 1988-03-05 17:46 KST 이후 출생 (월주 기준)
태어난 시각을 모르면 날짜만 줘도 된다(--born 1988-03-15). 그러면 시주는 계산하지 않는다.
saju match --a 1988-03-15T07:30 --b 1986-11-02 --labels 나,상대일간 관계(합·생·극·충), 일지 관계(육합·충·원진·해), 오행 보완, 십신을 보고 점수를 낸다.
saju taegil --from 2028-03-06 --to 2028-03-31 \
--dow 화목 --hours 09:00-16:00 \
--mother 1988-03-15T07:30 --father 1986-11-02구간의 모든 날짜 × 모든 시각을 계산해 점수순으로 줄 세운다. 부모 생년월일시를 주면 궁합 10점이 채점에 들어간다.
같은 사주가 나오는 시각은 하나로 묶어 구간으로 보여준다. 예약 시각을 잡을 때 그 구간을 그대로 말하면 된다.
[1위] 2028-03-21(화) 11:39~13:38 — 69.4점
사주 戊申(무신) 乙卯(을묘) 乙巳(을사) 壬午(임오)
오행 목 3.0 / 화 2.0 / 토 2.2 / 금 1.4 / 수 1.4
점수 오행균형 19.7 · 일간중화 13.6 · 형충파해 16.4 · 합 1.8 · 십신균형 4 · 일주 5.5 · 상생흐름 3 · 부모궁합 5.5
· 오행 다섯 기운이 모두 있음
· 일간 을(목) — 중화 (44%)
· ⚠ 년월 원진 신묘, 년일 파 신사, 월시 파 묘오
| 옵션 | 설명 |
|---|---|
--hours 09:00-16:00 |
가능한 시각대 |
--dow 월수금 |
가능한 요일 |
--weekdays |
주말 제외 |
--exclude 2028-03-14,2028-03-16 |
특정 날짜 제외 |
--step 30 |
스캔 간격(분). 구간 경계는 어차피 1분 단위로 정밀화된다 |
--top 15 |
상세 출력 개수 |
모든 명령에 --json을 붙이면 JSON으로 나온다.
점수는 상대 비교값이다. 90점과 85점의 차이는 의미 없고, 90점대와 60점대의 차이를 보면 된다.
| 항목 | 배점 |
|---|---|
| 오행 균형 | 28 |
| 형·충·파·해 | 20 |
| 일간 중화 | 14 |
| 일주 (십이운성) | 10 |
| 합 | 7 |
| 상생 흐름 | 7 |
| 십신 균형 | 4 |
| (선택) 부모·상대 궁합 | 10 |
가중치와 근거는 전부 references/scoring.md에 적어뒀다. 마음에 안 들면 고쳐 쓰라고 문서로 분리해 뒀다.
이 도구가 일부러 안 보는 것도 적어뒀다 — 신살, 용신 판정, 그리고 띠(년지) 궁합. 띠 궁합은 같은 해에 태어나는 사람이 전부 같은 점수를 받으므로 날짜를 고르는 데 변별력이 0이다.
- 명리는 검증된 예측 체계가 아니다. 유파마다 기준이 갈리고, 같은 명식을 놓고 정반대 해석이 나오기도 한다. 이 도구는 "덜 치우친 명식 고르기"에 쓰라고 만든 것이지 길흉 판정기가 아니다.
- 야자시(23시 이후)를 다루지 않는다. 다음 날로 넘길지가 유파마다 다르다.
- 서머타임과 옛 표준시를 자동으로 잡지 않는다. 한국은 1948
1960년과 **19871988년**에 서머타임을 썼고, 1954-03-21~1961-08-09 에는 표준시가 동경 127.5°(UTC+8:30)였다. 이 기간에 태어났다면 시계 시각을 손으로 되돌린 뒤 넣어야 시주가 맞는다. - 출산 택일이라면 산모와 태아의 의학적 안전이 언제나 우선한다. 가능한 주수 범위를 주치의에게 먼저 확인하고, 그 안에서 고르는 용도로만 쓸 것.
- 수명·중병·사고 같은 건 애초에 판정하지 않는다.
MIT. 만세력 엔진은 lunar-javascript (MIT)를 동봉했다 — vendor/.