READS

사주 계산이 맞는지 5만 5천 일을 대조해 본 이야기

2026-10-15 · 읽는 데 3분

사주 풀이보다 먼저 맞아야 하는 것

사주는 태어난 해·달·날·시를 여덟 글자로 바꾼 뒤에 그 글자들을 풀이하는 순서로 진행돼요. 그런데 풀이가 아무리 그럴듯해도 첫 단계인 '여덟 글자 만들기'가 틀려 있으면 그 뒤는 전부 다른 사람의 이야기가 돼요. 이 여덟 글자를 날짜와 시각에서 뽑아 주는 달력 표를 만세력이라고 하고, 요즘은 컴퓨터 프로그램이 그 일을 대신해요.

재미로봄의 내 사주와 오늘의 운세, 궁합도 모두 같은 계산 코드를 바탕으로 해요. 그래서 이 코드가 제대로 계산하는지 확인하는 작업을 따로 했어요. 이 글은 무엇을 어떻게 대조했는지, 어디까지 확인됐고 어디부터는 확인되지 않았는지를 그대로 적은 기록이에요.

먼저 짚어 둘 게 있어요. 여기서 말하는 '맞다'는 계산 규칙을 정확히 따랐다는 뜻일 뿐이에요. 계산 결과가 다른 계산기와 일치했다고 해서 "사주 풀이가 맞는다"거나 "미래를 알 수 있다"는 뜻은 아니에요. 사주는 과학적으로 검증된 예측이 아니라 오래 전해 내려온 전통 문화이고, 이 글은 그 전통의 '달력 계산' 부분만 다뤄요.

만세력 계산이 틀리기 쉬운 네 가지 지점

생년월일시를 여덟 글자로 바꾸는 일은 간단해 보이지만, 실제로는 실수하기 쉬운 곳이 몇 군데 있어요.

첫째, 절기가 바뀌는 시각이에요. 사주에서는 보통 입춘을 해가 바뀌는 때로 봐요. 달이 바뀌는 때도 매달 1일이 아니라 입춘·경칩·청명처럼 달의 시작을 알리는 열두 개의 절기가 시작되는 순간이에요. 문제는 이 순간이 '날짜'가 아니라 '몇 시 몇 분'까지 정해져 있다는 거예요. 예를 들어 2024년 입춘은 2월 4일 17시 27분이었어요. 그래서 같은 날 17시 20분에 태어난 사람은 계묘년(癸卯), 17시 35분에 태어난 사람은 갑진년(甲辰)이 돼요. 15분 차이로 해가 달라지는 셈이에요. 절기 시각을 분 단위로 알지 못하면 이런 사람들의 사주가 통째로 틀려요. (자세한 이야기는 띠는 설날이 아니라 입춘에 바뀐다?와 24절기와 사주에 있어요.)

둘째, 옛날 한국의 시계예요. 한국 표준시는 UTC+8시간 30분과 UTC+9시간 사이를 여러 번 오갔고, 서머타임(여름에 시계를 한 시간 앞당기는 제도)도 세 시기에 있었어요. 그래서 출생 기록에 적힌 시각이 그때 어떤 기준의 시계였는지에 따라 실제 시각이 달라져요. (태어난 시간을 모를 때, 그리고 30분 보정 이야기에 연표와 함께 자세히 다뤘어요.)

셋째, 자시예요. 하루를 두 시간씩 열둘로 나눈 것이 시진인데, 맨 처음인 자시는 밤 11시부터 새벽 1시까지예요. 자정이 되기도 전에 날짜가 바뀌는 시각이 있는 셈이에요. 사주에서는 밤 11시(지역 시간 기준)부터 날짜(일주)를 다음 날로 봐요. 이 사이트는 시계 시각을 30분 늦춘 지역 시간으로 계산하니, 시계로는 밤 11시 30분부터가 다음 날이에요. 이 한 줄 규칙을 빠뜨리면 그 시간대에 태어난 사람의 일주가 하루씩 어긋나요.

넷째, 음력이에요. 음력 생일로 사주를 보려면 먼저 양력으로 바꿔야 해요. 그런데 한국 음력과 중국 음력은 같은 규칙을 쓰지만 기준 시간대가 달라서, 초하루나 절기 날짜가 하루 갈리는 달이 가끔 있어요. 어느 쪽이 틀렸다기보다 기준이 다른 거예요. 이 사이트는 한국천문연구원 기준의 한국 음력을 써요. (음력 생일이 해마다 바뀌는 이유와 윤달 이야기도 참고하세요.)

어떻게 대조했을까

이 사이트의 계산 코드는 '자기 혼자' 검사하는 게 아니라, 이미 널리 쓰이는 다른 계산 라이브러리 결과와 나란히 놓고 비교해요. 여기서 라이브러리는 누군가 미리 만들어 공개해 둔 계산 도구를 가리키는 말이에요. 비교는 크게 네 가지로 했어요.

  • 일주 전체 비교: 1900년 2월 1일부터 2050년 12월 31일까지 모든 날짜 55,121일의 일주(태어난 날의 글자)를, 한국천문연구원 기준 음력을 계산해 주는 라이브러리(korean-lunar-calendar)가 알려 주는 그날의 일진과 하나씩 비교했어요.
  • 연·월·일·시주 비교: 무작위로 만든 출생 시각 2만 개의 연주·월주·일주·시주를, 중국에서 만든 계산 라이브러리(lunar-javascript)의 결과와 비교했어요. 이 라이브러리는 베이징 시간을 쓰기 때문에, 한국 시계 시각을 먼저 베이징 시간으로 바꿔서 넣었어요. 일주와 시주는 이 사이트와 같은 규칙(보정한 시각이 밤 11시부터 다음 날)으로 맞춰 놓고 비교했어요.
  • 음력→양력 비교: 음력 날짜 1만 개를 양력으로 바꿔서 중국 음력 계산 결과와 비교했어요.
  • 절기 시각표 확인: 절기가 시작되는 시각을 담은 표는 lunar-javascript의 값을 바탕으로 만들었어요. 그리고 그 값을 천문 계산 도구(astronomy-engine)로 다시 계산해 보니 차이는 최대 1.04분이었어요.

비교할 때 일부러 어려운 문제를 섞었어요. 무작위 시각 2만 개 중 일부는 절기가 바뀌는 순간 앞뒤 3시간 안에서 고르게 했어요. 입춘 직전·직후처럼 틀리기 쉬운 곳을 집중적으로 건드려 보려는 거예요. 한 가지 밝혀 둘 점도 있어요. 연주·월주 비교에서는 입력 시각이 절기 시각과 2분 이내로 너무 가까운 경우를 건너뛰었어요. 두 계산의 초 단위 반올림이 달라서 생기는 차이를 '진짜 오류'로 오해하지 않으려는 장치예요.

결과: 일주와 연·월·일·시주는 모두 일치했어요

결과는 이래요.

  • 55,121일의 일주는 전부 일치했어요.
  • 무작위 출생 시각 2만 개의 연·월·일·시주도 전부 일치했어요.
  • 음력 날짜 1만 개를 중국 음력과 비교했을 때는, 그 날짜들이 속한 달 가운데 60개 달에서 결과가 달랐어요. 이건 오류가 아니라 앞에서 말한 한국·중국 음력의 차이예요.

음력 차이의 대표적인 사례가 2017년이에요. 한국 음력으로는 그해에 윤5월이 있었는데 중국 음력으로는 윤6월이었어요. 새 달이 시작하는 날은 양쪽이 같았어요. 갈린 것은 윤달을 정하는 기준이 되는 절기 '대서'의 날짜예요. 대서가 중국 시각으로는 7월 22일 밤 11시 15분, 한국 시각으로는 7월 23일 0시 15분이어서 날짜가 하루 갈렸고, 그 바람에 어느 달을 윤달로 볼지가 달라진 거예요. (원리는 음력 생일이 해마다 바뀌는 이유와 윤달 이야기에 있어요.)

여기에 더해, 라이브러리에 기대지 않고 사람이 직접 따져서 정답을 정해 둔 기준 사례도 함께 넣어 두었어요.

  • 2024년 입춘 직전·직후에 연주가 계묘년에서 갑진년으로 바뀌는지.
  • 2000년 1월 1일이 무오일(戊午)인지.
  • 2000년 1월 1일 밤 11시 20분은 아직 그날이고, 밤 11시 40분은 사주에서 다음 날인지. 시계로 11시 20분은 30분 보정하면 22시 50분(해시)이고, 11시 40분은 23시 10분(자시)이 돼요.
  • 1954년과 1961년에 표준시가 바뀐 날, 그리고 1987년 10월 11일처럼 서머타임이 끝나면서 같은 시각이 두 번 있었던 날과 1987년 5월 10일처럼 아예 없던 시각을 규칙대로 처리하는지.
  • 1988년 서머타임 기간에 태어난 사람의 시각이 한 시간 되돌려져 계산되는지. 이 항목은 정답을 미리 정해 두고 비교한 것이 아니라, 시계 10시가 실제 9시(지역 시간으로 8시 30분)로 계산되는 것을 확인한 것이에요.

입춘 사례에는 눈여겨볼 점이 하나 있어요. 시계로 17시 35분에 태어난 사람은 30분 보정하면 17시 5분이 돼서 시주는 유시(酉時)로 계산하지만, 연주는 이미 갑진년이에요. 즉 시주·일주는 지역 시간으로 보정한 시각으로, 연주·월주는 보정하지 않은 실제 절기 순간으로 따로 판단해요. 이 둘을 헷갈리면 입춘 근처 출생자의 사주가 어긋나요.

같은 시각이 두 번 있거나 아예 없던 날은

서머타임이 끝나는 날에는 시계를 한 시간 되돌려서 같은 시각이 두 번 지나가요. 반대로 서머타임이 시작되는 날에는 시계가 건너뛰어서 실제로는 존재하지 않았던 시각도 있어요. 이런 시각을 입력하면 컴퓨터는 어느 쪽인지 알 수 없어요.

이 사이트는 규칙을 정해 놓았어요. 두 번 있었던 시각은 앞쪽(서머타임이 적용되던 쪽) 으로 보고, 없던 시각은 시계가 바뀌기 직전의 시간 기준으로 계산해요. 그리고 그런 경우에는 화면에 "이날은 시계를 뒤로 돌려 이 시각이 두 번 있었어요. 앞쪽 시각으로 계산했어요"처럼 이유를 안내해요. 정답이 하나로 정해지지 않는 경우에도 어떤 규칙으로 계산했는지 알려 주려는 거예요.

일치했다는 말이 뜻하는 것, 뜻하지 않는 것

이 대조에서 알 수 있는 건 이래요. 1900~2050년의 모든 날짜에서 일주가 한국천문연구원 기준 라이브러리와 같았고, 무작위로 뽑은 2만 개 출생 시각에서 연·월·일·시주가 중국 라이브러리와 같았다는 거예요. 시험한 범위 안에서는 시각을 받아 여덟 글자를 정하는 이 사이트의 계산 과정이 규칙대로 작동한다는 근거가 돼요.

반대로 알 수 없는 것, 그리고 이 대조의 한계도 분명해요.

  • 절기 시각은 같은 출처끼리의 비교예요. 절기표를 lunar-javascript 값으로 만들었으니, 연주·월주가 lunar-javascript와 일치한 것은 '절기 시각 자체가 맞다'는 증거라기보다 '시각을 받아 연·월주를 정하는 과정이 맞다'는 확인에 가까워요. 절기 시각이 실제 천문과 맞는지는 astronomy-engine과의 대조(최대 1.04분 차이)가 맡았어요.
  • 옛 표준시와 서머타임 표는 외부 계산기와 대조하지 않았어요. 한국 시계 시각을 세계 표준시로 바꾸는 단계는 양쪽 비교에서 이 사이트의 같은 함수를 썼어요. 이 부분은 위의 손으로 따져 둔 기준 사례 몇 개로 확인한 것이라, 모든 날짜를 확인했다고 말할 수는 없어요.
  • 사주 풀이 자체가 맞는지는 대조할 수 없어요. 계산기끼리 일치하는 건 "같은 규칙으로 같은 글자를 뽑았다"는 뜻이지, 그 글자가 사람의 성격이나 운을 말해 준다는 증거가 아니에요.
  • 규칙 선택의 차이는 '틀림'이 아니에요. 자시를 밤 11시부터 다음 날로 보는 곳도 있고 자정부터 보는 곳도 있어요. 균시차(계절에 따라 생기는 태양 시각 오차)를 반영하는 곳도 있고 이 사이트처럼 반영하지 않는 곳도 있어요. 다른 사이트와 결과가 다르다면 계산 규칙이 달라서일 수 있어요.
  • 검증한 범위는 1900~2050년이에요. 그 밖의 연도는 이 사이트가 계산하지 않아요.

직접 확인해 보세요

내 사주 결과는 내 사주에서 볼 수 있고, 계산에 쓴 보정 시각과 안내 문구가 결과 아래에 함께 나와요. 다른 만세력과 비교해 보고 싶다면 세 가지를 맞춰 보세요.

  • 음력 기준이 한국인지 중국인지.
  • 자시를 어디서부터 다음 날로 보는지.
  • 입춘 같은 절기 근처라면, 연·월주를 정할 때 절기 시각과 비교하는 시계를 보정 전(실제 순간)으로 쓰는지 보정 후 시각으로 쓰는지. 이 사이트는 앞의 방식이에요.

이 세 가지가 같은데도 글자가 다르다면 옛 표준시나 서머타임 처리에서 차이가 난 것일 수 있어요.

사주는 재미와 문화로 즐기는 것이고, 계산이 정확하다는 건 그 재미를 즐길 수 있는 바탕이 되는 정도의 의미예요. 오늘 하루의 흐름이 궁금하다면 오늘의 운세를, 올해의 흐름이 궁금하다면 신년운세를 가볍게 열어 보세요. 사주가 처음이라면 사주팔자란? 여덟 글자로 읽는 태어난 순간부터 읽어도 좋아요.

바로 해볼까요? 생년월일로 내 사주 팔자를 계산하고, 오늘 일진과의 관계로 하루 흐름을 풀어 줘요. 날마다 바뀌어요. 오늘의 운세 보기 →
← 읽을거리 목록