로쿠요(六曜)는 실제로 어떻게 계산되나요?
산식은 하나, 그 산식이 어느 나라 음력 위에서 도는지는 시계 한 시간이 정해요.
Bokki 편집실
짧은 답
로쿠요(六曜) — 복키 홈이 「오늘의 상징」 네 카드 중 하나로 보여주는 大安·赤口·先勝·友引·先負·仏滅의 여섯 날 순환 — 은 산식 하나에서 나와요. 그 날짜의 음력 달 번호에 음력 일수를 더하고 6으로 나눈 나머지가 고정된 순서 중 하나를 골라요. 산식에는 이견이 없어요. 문제는 입력이에요. 로쿠요는 일본 옛 음력(旧暦)에 딸린 것이고, 그 달력은 도쿄 시계로 합삭이 드는 날에 달을 시작해요. 복키는 2026년 9월까지 중국 음력을 따르는 라이브러리에서 음력 날짜를 읽었는데, 중국 음력은 한 시간 이른 베이징 시계로 세워요. 대부분의 달에는 그 한 시간이 아무것도 안 바꿔요. 그런데 어떤 달에는 초하루를 하루 옮기고, 그러면 그 달의 로쿠요가 전부 틀려요.
산식과 오늘의 예시
rokuyo.ts는 양력 날짜를 일본 음력 날짜로 바꾸고, 월과 일을 더해 6으로 나눈 나머지를 고정 배열에 대요: 大安(0)·赤口(1)·先勝(2)·友引(3)·先負(4)·仏滅(5). 2026년 8월24일은 일본 음력으로 7월12일이에요: 7 + 12 = 19, 19를 6으로 나눈 나머지는 1, 이름은 赤口 — 전통에서 정오만 길하다고 보는 날이에요. 윤달은 앞 달의 번호를 그대로 써서, 2017년 윤5월은 5로 세요. 예전에 읽던 라이브러리는 윤달을 음수로 돌려줘서, 옛 코드는 Math.abs()로 그 부호를 지워야 했어요. 1950~2050년 윤달 1,080일 중 727일이 그 한 줄 없이는 틀렸을 거예요. 새 코드는 그 부호를 아예 안 봐요. 그리고 이제 테스트는 다른 프로그램의 산술이 아니라 일본 음력 달력에 인쇄된 날짜와 답을 맞대요.
한 시간, 한 달 통째
두 달력이 다음으로 갈리는 곳은 2026년 10월이에요. 합삭은 10월10일 15시50분(UTC)이에요. 베이징에서는 10일 23시50분이라 중국의 9월은 10월10일에 시작해요. 도쿄에서는 11일 0시50분이라 일본의 9월은 10월11일에 시작해요. 다음 합삭까지는 모든 날짜의 음력 일수가 일본 쪽이 중국 쪽보다 하나 작고, 산식이 그 일수를 더하니 그 사이 로쿠요가 전부 달라요. 10월11일은 일본 음력으로 9월1일이에요: 9 + 1 = 10, 10을 6으로 나눈 나머지는 4, 이름은 先負 — 일본 달력에 인쇄된 그대로예요. 옛 코드는 중국 음력 9월2일을 읽었어요: 9 + 2 = 11, 나머지 5, 이름은 仏滅. 그 한 시간은 윤달도 옮겨요. 2017년 일본 음력은 윤5월, 중국 음력은 윤6월이었고, 2012년에는 일본과 같은 자오선으로 세우는 한국 음력이 윤3월, 중국 음력이 윤4월이었어요(한국천문연구원, 2017).
얼마나 자주, 그리고 우리 테스트는 왜 못 봤나
1950~2050년 36,890일 동안 옛 계산은 1,319일 — 백 년의 3.6% — 에 일본 달력과 다른 로쿠요를 냈어요. 테스트가 없던 것도 아니에요. 그 모든 날을 라이브러리에 들어 있는 로쿠요 메서드 getLiuYao()와 맞대 봤고, 불일치는 0이었어요. 그건 참이었지만 아무것도 증명하지 못했어요. getLiuYao()도 같은 중국 음력 위에서 돌거든요. 일치가 보여준 건 우리가 라이브러리를 제대로 베꼈다는 것뿐이었어요. 이제 테스트는 바깥의 것을 들여와요. 일본 음력 달력에 실린 2026년 10월과 2017년 6월의 날짜인데, 옛 코드와 달력이 갈리는 날로 골랐어요. 그리고 우리의 월·윤달 규칙을 베이징 시각으로 돌려, 1960~2100년 51,500일 동안 라이브러리의 중국 음력과 하루도 안 틀리는지 확인해요. 규칙은 맞아요. 바뀐 건 시계예요.
우리가 계산하지 않는 것
저희는 날짜 하나의 로쿠요를 일본 음력 위에서 계산할 뿐, 그 이상은 안 해요. 로쿠요 자체에는 천문이 없지만, 그 밑의 음력 날짜에는 있어요. 달마다 합삭에서 시작하니까요 — 시계가 문제가 되는 이유가 그거예요. 일부 출처가 다른 시작 오프셋으로 설명하는 六曜의 지역 변형은 구현하지 않았어요. 일본의 전통 윤달 규칙만으로는 달 이름이 정해지지 않는 2033년에는 한국과 중국 규칙이 똑같이 내는 윤11월을 써요. 일본 달력 중에는 그해를 다르게 인쇄하는 것도 있을 수 있어요. 전통적으로 가장 흉하다고 여겨지는 仏滅을 저희는 「비우고 다시 시작하기 좋은 날」로 되읽었어요(PHILOSOPHY·D-003) — 이건 계산 위에 얹은 따뜻함의 선택이지, 어느 날이 어느 자리에 떨어지는지는 손대지 않았어요. 그리고 로쿠요는 홈 방문자의 약 4분의 1에게만 닿아요 — 날짜로 고르는 네 개의 오늘의 상징 카드 중 하나라서요.
맺음말 — 틀린 1,319일, 그리고 그걸 맞다고 한 테스트
정리하면, 로쿠요는 (음력 월 + 음력 일) mod 6이고, 그 음력 날짜는 도쿄 시각으로 세운 일본 것이어야 해요. 한 시간 이른 중국 음력을 대신 읽자 1950~2050년 사이 1,319일에 틀린 로쿠요가 나왔고, 다음 구간은 2026년 10월10일에 시작해요. 우리 테스트는 같은 라이브러리의 로쿠요 메서드와 결과를 맞대서 아무것도 못 찾았어요. 양쪽이 같은 달력 위에 서 있었으니까요. 의미 있는 대조는 그 전통이 실제로 쓰는 달력과의 대조이고, 이제 테스트가 하는 게 그거예요.