제목:

파이썬으로 음력 및 양력 날짜 변환하기

날짜: Posted on

이 포스트에서는 파이썬으로 음력 및 양력 날짜를 변환하는 방법을 설명합니다.

이 기능을 사용하려면 korean-lunar-calendar 라이브러리가 필요합니다. 이 라이브러리는 다음 명령어로 설치할 수 있습니다.

pip install korean-lunar-calendar

0.3.1 버전 기준 음력 1000년 01월 01일 부터 2050년 11월 18일까지, 양력 1000년 02월 13일 부터 2050년 12월 31일까지 지원합니다.
한국천문연구원 기준이며, 네트워크 연결은 불필요합니다.

라이브러리 설치 후, 우선 양력을 음력으로 변환하는 예시입니다.

from korean_lunar_calendar import KoreanLunarCalendar

calendar = KoreanLunarCalendar()

# params : year(년), month(월), day(일)
calendar.setSolarDate(2017, 6, 24)

# Lunar Date (ISO Format)
print(calendar.LunarIsoFormat())

# Korean GapJa String
print(calendar.getGapJaString())

# Chinese GapJa String
print(calendar.getChineseGapJaString())

1번 줄은 라이브러리 로드, 3번 줄은 객체 설정입니다. 6번 줄은 설정된 객체변수에 양력 날짜를 대입합니다.
9번 줄에서는 입력된 양력 날짜를 음력 날짜로 변환한 결과를 ISO 표준 형식으로 출력, 12번 줄과 15번 줄에서는 음력으로 변환된 날짜를 육십갑자 형식으로 출력합니다. 12번 줄의 것은 한글로 출력하고, 15번 줄의 것은 한자로 출력합니다.

위 코드의 실행 결과는 다음과 같습니다.

2017-05-01 Intercalation
정유년 병오월 임오일 (윤월)
丁酉年 丙午月 壬午日 (閏月)

이는 양력 2017년 6월 24일을 음력으로 변환한 예시입니다. 2017년 6월 24일은 2017년 윤5월 1일이기 때문에 위와 같이 윤달 표시가 추가로 붙습니다. 만약 윤달이 아닌 평달이면 별도의 표시는 붙지 않습니다.

반대로, 음력 날짜를 양력으로 변환할 수도 있습니다.

from korean_lunar_calendar import KoreanLunarCalendar

calendar = KoreanLunarCalendar()

# params : year(년), month(월), day(일), 윤달여부
calendar.setLunarDate(2017, 5, 1, True)

# Solar Date (ISO Format)
print(calendar.SolarIsoFormat())

6번 줄에서 음력 날짜를 대입합니다. 음력 날짜는 연, 월, 일 다음에 윤달 여부도 추가로 대입합니다. True이면 윤달, False이면 평달입니다. 만약 윤달이 없는 달인데 True를 넣으면 평달로 간주하여 평달이 대입됩니다.
그리고, 9번 줄에서 양력으로 변환한 결과를 ISO 형식으로 출력합니다.

위 코드의 실행 결과는 다음과 같습니다.

2017-06-24

1개의 댓글이 있습니다.

  1. 님께서 작성하신 코드를 유용하게 사용했습니다. 감사합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다