transdate의 기능은 두 가지 방법, 즉 개별 함수와 lunardate라는 하나의 큰 클래스로 제공됩니다. 둘이 제공하는 기능은 거의 유사합니다.
양력 날짜를 받아서 음력 날짜를 나타내는 (year, month, day, leap)
튜플로 반환합니다. 입력의 leap는 lun2sol과의 호환성을 위한 것으로 무시되며, 출력의 leap는 윤달일 때 True, 아니면 False로 설정됩니다. 잘못된 날짜거나 범위를 벗어 나면 ValueError를 냅니다.
음력 날짜를 받아서 양력 날짜를 나타내는 (year, month, day, False)
튜플로 반환합니다. 입력의 leap는 윤달일 때 True, 아니면 False로 설정해야 합니다. 잘못된 날짜거나 범위를 벗어 나면 ValueError를 냅니다.
간지의 번호(0~59)를 입력하면 locale에 대응하는 언어로 대응되는 문자열 표기를 반환합니다. locale은 'ko'
(한국어), 'ja'
(일본어), 'zh'
(중국어) 중 하나이며, 생략되면 기본 로캘을 사용합니다.
>>> import transdate
>>> print transdate.getganzistr(34, 'ko')
무술
기본 라이브러리의 time.strftime과 유사한 역할을 합니다. format에는 strftime이 지원하는 지정자와 더불어 다음 지정자를 추가로 쓸 수 있습니다.
%LC
: 음력 년도의 세기 부분. (2007이면 20)%Ld
: 음력 날짜. [01-30]%Le
: %Ld
와 같으나 앞에 붙는 0은 공백으로 치환됨.%LF
: %LY-%Lm-%Ld
와 동일함.%Lj
: 음력 해에서 몇 번째 날짜인가? [001-390]%Ll
: 윤달이면 1, 윤달이 아니면 0.%Lm
: 음력 달. [01-12]%Ly
: 음력 년도에서 세기를 뺀 두 자리. [00-99]%LY
: 네 자리 음력 년도.이 클래스는 datetime.date와 호환되며, 거의 유사한 인터페이스를 지니고 있습니다. 다음은 lunardate에만 있는 속성 및 메소드입니다.
지정된 음력 날짜에 해당하는 lunardate 객체를 만듭니다. 인자의 의미는 lun2sol 함수와 같습니다.
datetime.date 클래스의 year, month, day 속성과 같지만, 음력 날짜를 반환합니다. lunarleap는 윤달일 때 True를 반환합니다.
해당 객체와 같은 날짜인 datetime.date 객체를 반환합니다.
datetime.date 클래스의 min, max 속성과 같지만, lunardate 객체를 대신 반환합니다. 현재 min은 양력 1881년 1월 30일(음력 1월 1일), max는 양력 2051년 2월 10일(음력 12월 29일)로 설정되어 있습니다.
dateime.date 클래스의 replace 메소드와 같지만, 인자로 음력 날짜를 받아 들입니다.
datetime.date 객체인 solardate와 같은 날짜인 lunardate 객체를 만들어서 반환합니다.
datetime.date 클래스의 today, fromtimestamp, ordinal 메소드와 같지만, lunardate 객체를 대신 반환합니다.
육십간지를 나타내는 (year_ganzi, month_ganzi, day_ganzi)
튜플을 반환합니다. 각각 년, 월, 일에 해당하는 육십간지의 번호(0부터 59까지의 정수)이며, getganzistr 함수를 써서 문자열로 바꿀 수 있습니다.
getganzi()와 같으나 getganzistr 함수를 사용하여 문자열로 바뀐 튜플을 반환합니다.
strftime 함수를 사용하여 음력 날짜를 포매팅합니다.
그 외에 datetime.timedelta와의 연산도 제공됩니다.
lunardate와 짝이 되는 solardate 클래스가 제공됩니다. 이 클래스는 단순히 datetime.date의 별명입니다. 또한 datetime.timedelta 클래스도 편의를 위해 제공됩니다.
1d46270eb038
)