목차
오늘은 지난 글에 이어서 OpenAI API를 활용한 새해 운세 프로그램의 두 번째 이야기로 월주, 일주, 시주 세우는 방법에 대해 이야기해 보겠습니다. 지난 글에서 설명했던 사주팔자 구성에 대한 이야기와 년주 세우는 방법이 궁금하신 분들은 아래 링크를 참고하시고, 바로 본 내용으로 들어가 보겠습니다.
사주팔자 월, 일, 시주 세우기
월주 세우는 방법
월주 세우는 방법은 또 역시 지난번 년주 세우는 방법을 학습한 바와 같이 우리 무명의 인터넷 지식인 여러분들의 자료를 참고했습니다. 그중 특히 코딩으로 구현한 블로그 URL은 다음과 같습니다. (네이버 블로그: https://blog.naver.com/ssunris/140105415230)
월주 세우는 방법에 대한 자세한 내용을 직접 확인해 보고자 하시는 분은 위 블로그의 내용을 확인하시면 자세하게 알 수 있을 거예요. 위 블로그의 내용을 코딩하면 다음과 같습니다.
아래 코드 중에서 위에서 참고한 블로그의 내용 중 없는 부분은 JULGI_JIJI_ref() 부분이에요. 이 부분은 이전 글에서 년주를 계산할 때처럼 절기를 기준으로 월을 판단해야 하기 때문이에요.

물론, 이전 글에서 설명한 년주에서는 해가 바뀌는 기준으로 절기 중 “입춘”만 기준으로 했지만, 월주의 경우 월이 12개 이므로 12개의 절기를 기준으로 구분해야 하는 거죠. 이때 기준이 되는 절기는 아래와 같이 이전 글에서 공개한 바 있습니다.

일주 세우는 방법
일주는 다른 3개 년주, 월주 등 보다 가장 간단하더군요. 임의의 기준일을 정하고 그 기준일의 일주가 무엇이었는지를 파악한 다음 60 갑자 순으로 연속하여 계산해 주면 됩니다. 간단하기 때문에 일주 계산의 코드 일부는 아래와 같습니다.

위 코드에서 보면 BASE_DATE가 기준일이고 저는 아래와 같이 기준을 설정했고, 이 기준일의 천간과 지지도 확인했습니다.
BASE_DATE = datetime(1900, 1, 1) #경자년 정축월 갑술일
시주 세우는 방법
시주 역시 월주에서와 같이 동일한 블로그의 시주 세우는 방법을 참고했습니다. 복잡한 60 갑자 순환 부분을 표로 잘 정리해 주었기 때문에 아래와 같이 코드 정의를 하여 사용합니다. 아래 정의를 데이터프레임으로 선언하여 사용하면 행열처럼 이용할 수 있습니다.

예를 들어 보면, 오늘이 “갑술일”이라고 하고 현재 시각이 낮 정오(12시)라고 하면 지지로 하면 “오” 시가 됩니다. 그러면 일시의 천간이 갑이므로 위 데이터프레임을 참고하여 보면 지지(JIJI)행에서 오시는 5번째에 있고, 갑행의 5번째에 해당하는 “오” 시는 “경오”이기 때문에 시주는 “경오시”가 됩니다.
그 외 시주를 정확하게 계산하기 위해서는 1961년 8월 10일 기준으로 우리나라 표준시가 변경됐다는 것도 고려해야 하고요, 또 서머타임이 적용된 이력도 확인해야 합니다. 우리나라가 과거 서머타임 적용한 시기가 연도만 따져도 크게 3차례가 있더군요. 적용되는 날짜와 시각도 다양합니다.
하지만, 좀 이력이 정확하게 확인하기도 어렵고 하여 적용하지 않았고요, 야자시 어쩌고 하는데, 자시를 날짜 기준으로 둘로 나눈다는 이론은 개인적으로 맞지 않다고 보고요, 이유는 우리나라 표준시가 일본의 동경시와 같은 문제도 적용이 안 되는 점에서 정밀하게 하려면 한도 끝도 없어 보이기 때문에 그냥 자시는 11시 30분부터 1시 29분까지로 정의하여 나머지 시각들도 순서대로 정의했습니다. 아래처럼 말이죠.

결과 확인
그러면 이제 결과가 잘 나오는지 확인해 보겠습니다. 입력 생년월일시는 아래와 같습니다. 이전 글에서 사용했던 생년월일시와 같습니다.
1989년 2월 2일 14시

여기까지 사주팔자의 년주, 월주, 일주, 시주 세우는 프로그램을 정리해 봤습니다. 이제 다음부터는 이를 참고하여 OpenAI의 API로 실제 새해 운세를 보는 방법에 대해 이야기해 보겠습니다.
- 챗지피티 프롬프트로 지브리 스타일, 픽사 스타일 이미지 생성 방법
- 생성형 AI 소유권, 챗지피티 지브리 스타일 이미지 사례 #1
- OpenAI API로 구현하는 AI Agent #2, “프로그래밍 AI 에이전트”
- OpenAI API로 구현하는 AI Agent, GPT-4o와 Function Tool 활용
- AI Detector로 AI content 판별이 가능할까? 기준과 현실 #1