📂 JS 실습하기/달력만들기
음력 달력은 포기... 🕔 2015. 3. 11. 04:06
달력에다가, 휴일을 표시해보려고, 설이랑, 추석때문에, 음력으로 변환(?)하는 방법을 찾아보았으나,
지금의 내 실력으로는... 역부족이다...
그나마, 뒤지고 뒤져서, 소스코드를 몇 개 찾아내기는 했으나... 사용 방법을 모르겠다... ㅠ.ㅠ
1. lun2sol.js
2. 양력/음력 변환 클래스
3. 음력달력에 관하여...
음력(태양태음력)의 날짜를 양력(태양력)으로 환산하는 것은 일대일로 대입하여 계산할 수 밖에 없다.
윤달(閏달) 또는 윤월(閏月)은 역법과 실제 우주년 또는 계절년을 맞추기 위해 여분의 날이나 달을 끼우는 달이다. 윤달이 든 해를 윤년 (閏年)이라고 하는데 이 경우에는 1년이 열세 달인 셈이다. 음력에서 윤달이 1년 중 어디에 들어가는가는 일정하지가 않다. 따라서 3월에 들면 '윤3월', 4월에 들면 '윤4월'이라 부른다. 현재의 치윤법에 따르면, 윤달은 중기(中氣 : 우수, 춘분, 곡우, 소만 등)가 없고, 절기(節氣 : 입춘, 경칩, 청명, 입하 등)가 있는 달에 배치된다. 이를 “무중치윤법”(無中置閏法)이라 한다.
우주년이나 계절년은 정수 개의 날로 떨어지지 않기 때문에, 한 해에 정수 개의 날이 들어 있는 역법에서는 하루(윤일) 또는 한 달(윤달)을 적절한 시기에 끼워서 이를 보정한다.
음력에서는 한 달에 29일과 30일을 번갈아서 쓰며, 그렇게 하면 한 해가 354일이 되어 지구의 태양 공전 주기와 어긋나게 된다. 이때 태양태음력에서는 19년마다 일곱 번씩 윤달을 둔다. 이렇게 19년마다 일곱 번 윤달을 두는 방법을 장법(章法)이라고 한다.
태음태양력의 시간 단위인 시(時), 일(日), 월(月), 연(年)에는 간지를 붙인다. 시간과 날, 달, 해는 간지를 붙여 구분한다. 간지는 갑, 을, 병, 정, 무, 기, 경, 신, 임, 계의 10간과 자, 축, 인, 묘, 진, 사, 오, 미의 12지로 이루어져 60 주기마다 다시 같은 간지를 맞게 된다.
[ 태양태음력 시각표 ] | ||||||||||||
12지 | 자 | 축 | 인 | 묘 | 진 | 사 | 오 | 미 | 신 | 유 | 술 | 해 |
24시간 | 23 - 1 | 1 - 3 | 3 - 5 | 5 - 7 | 7 - 9 | 9 - 11 | 11 - 13 | 13 - 15 | 15 - 17 | 17 - 19 | 19 - 21 | 21 - 23 |
태음태양력은 달의 삭망월 주기를 기준으로 한 달을 삼는다. 보름에서 보름까지인 달의 삭망월 주기는 29.5306일이기 때문에 큰 달은 30일, 작은 달은 29일로 정하였다. 이렇게하여 12개월을 1년으로 하면 354 일이 되어 실제 지구의 공전주기인 365.242199 에 비해 약 11일이 부족하다. 이 때문에 태음태양력은 윤달을 만들어 계절과 달력을 맞춘다. 윤달은 19년에 7번 돌아온다.
29×43/81일로 계산하여 삭망주기를 29.530864일로 삼았다.
태음태양력에서는 달의 운행과 병행하여 태양의 위치 역시 역법 계산의 중요한 요소가 된다. 절기는 태양의 위치에 따라 24개로 나누는데 일년의 첫 절기인 입춘을 기준으로 홀수 절기는 중, 짝수 절기는 절로 구분하기도 한다. 절기는 황경을 15˚ 간격으로 나누어 24개의 지점을 설정한 것이다. 황경은 태양의 연간 겉보기 운동 궤도인 황도를 세로로 횡단한 경도로 춘분을 0˚로 삼는다. 태양이 정확히 황경 0˚에 다다르는 날을 춘분입기일이라 하며, 다음 절기인 우수가 되기 전 까지의 기간 역시 춘분이라고 한다.
윤달을 결정하는 데에는 24절기가 사용된다.
[ 24 절기 ] 입춘, 우수, 경칩, 춘분, 청명, 곡우, 입하, 소만, 망종, 하지, 소서, 대서, 입추, 처서, 백로, 추분, 한로, 상강, 입동, 소설, 대설, 동지, 소한, 대한 24절기는 12절기와 12중기가 교대로 온다. 즉, 입춘(양력 2월4일 부근) 다음은 우수(양력 2월19일 부근), 우수 다음은 경칩(양력 3월6일 부근), 경칩 다음은 춘분(3월21일 부근)이다. 12절기 ㅡ 입춘, 경칩, 청명, 입하, 망종, 소서, 입추, 백로, 한로, 입동, 대설, 소한 12중기 ㅡ 우수, "춘분", 곡우, 소만, "하지", 대서, 처서, "추분", 상강, 소설, "동지", 대한 절기는 나누는 때, 중기는 그 달의 중심이 되는 때라는 뜻.
음력 한 달에 중기가 들면, 그것으로 한 달의 이름을 결정한다. 우수가 든 달은 1월, 춘분이 든 달은 2월, 곡우가 든 달은 3월이 된다. 우리가 음력 11월을 흔히 동짓달이라 부르는 것도 11번째 중기가 동지이기 때문이다. 그런데 중기와 중기 사이가 음력 한 달보다 조금 길기 때문에, 중기가 없는 달이 가끔 나타난다. 바로 이런 달을 윤달로 삼는 규칙을 무중치윤법(無中置閏法)이라 한다. 중기가 없는 달을 윤달로 삼는다는 뜻이다.
... 그 달에, 절기만 한번 들고 중기가 들지 않는 달이 있다. 이런 경우에는 그 달의 이름을 결정할 수 없으므로, 그 달을 윤달로 삼고, 달 이름은 전 달의 이름을 따른다. 이와 같이 중기가 들지 않는 달, 무중월(無中月)을 윤달로 하는 법을 무중 치윤법(無中 置閏法)이라 한다. 간혹 1년에 2번의 무중월이 있는 경우가 있는데, 이 때에는 처음 달만 윤달로 택한다.
각 년에 배정되는 간지(10간 12지)를 세차, 월에 부여되는 간지를 월건, 그리고 일에 배정되는 간지를 일진이라 한다. 음력에서 윤달에는 월건을 배정하지 않는다.
황도를 기준으로 태양의 운행을 계산하면 24절기가 돌아오는 주기는 태양력의 것과 같이 365.242199 일이 된다.
달의 삭망월 주기를 기준으로 하여, 큰 달 6개월과 작은달 6개월을 합한 1년의 길이는 354일로서... ...윤달을 넣는 규칙으로는 무중치윤법(無中置閏法)이 사용되는데 24 절기 가운데 중기가 들지 않는 달을 윤달로 삼는 것이다.
태음태양력의 1 년은 평년의 경우 354일, 윤달이 있을 경우 383 - 384일이 된다. 일년의 길이가 일정치 않은 것은 태음태양력의 가장 큰 약점이다.
[ 메톤 주기 ] 그리스의 천문학자인 메톤(Meton of Athens)은 19태양년(tropical years)이 달의 235회합월(synodic lunar months)과 2시간의 차이가 있을 뿐 거의 완전히 일치한다는 것을 발견하였다. 이를 계산으로 검증해 보면 다음과 같다. 19태양년을 일수로 계산하면 19태양년 x 365.24219일 = 6939.60161일이다. 235회합월을 일수로 계산하면 235회합월 x 29.530588일 = 6939.68818일이다. 이 둘의 차이는 6939.68818일 - 6939.60161일 = 0.08657일이다. 1일은 24시간이므로 0.08657일은 0.08657 x 24시간 = 2.07768시간이다. 따라서, 19태양년마다 태양력과 태음력 간에는 약 2시간의 차이가 발생한다.
[ 태음력의 조정 ] 235회합월은 일수로는 6940일(days)이다(235 x 29.530588일 = 6939.68818일). 6940일의 1/19은 6940일 / 19 = 365.263157894737일(365 + 1/4 + 1/76일)이다. 365.263157894737일은 12회합월(synodic months)인 12 x 29.530588일 = 354.367056일보다 10.896101894737일(365.263157894737 - 354.367056) 더 크다. 이것이 뜻하는 바는 음력으로 1년이 지나면 태양력과는 약 11일의 차이가 난다는 것을 의미한다. 따라서 음력으로 3년이 지나면 태양력과는 약 33일의 차이가 나게 된다. 따라서 3년마다 음력에 1달을 추가하며 13개의 음력 달들이 있게 하면, 태음력은 어느 정도 근사하게 태양력과 일치하게 된다. 태양력 19년 동안에 이런 작업을 총 7번(19년/3년 = 6.33) 행하면 된다. 이런 이유로, 메톤 주기를 19년 7윤법이라고도 하였다. 메톤은 19태양년을 6,940일로 보고, 이것을 큰달(30일) 125개월과 작은달(29일) 110개월의 총 235개월 6,940일로 배분하였다. 이 방법은 평년(12개월) 12년과 윤년(13개월) 7년의 총 235개월로 태음력 달력을 구성하는 것과 동일하므로 19년 7윤법이라고도 하였다. 메톤주기의 존재를 알 수 있는 예로, 특정한 양력 날짜와 그에 대응하는 음력 날짜는 19년이 지나면 다시 일치한다는 사실을 찾을 수 있다. 하지만 정확히 맞물리는 건 아니라서 하루 정도 어긋나기도 한다.
무중치윤법, 시헌력
'JS 실습하기 > 달력만들기' 카테고리의 다른 글
달력만들기 두번째 도전기 (0) | 2016.08.31 |
---|---|
달력만들기 첫 도전기 (3) | 2015.01.17 |