음력달력 생성기(hjLunarCalendarGenerator), 음력양력변환, 달력파일 생성(소스공개)

2012.02.07 10:48

2012-11-07 추가 - 블로그 정리하다. 기존 게시물을 날려먹어 다시 글을 등록했습니다.(아까운 소중한 댓글과 좋아요 ㅠㅜ)

2012-03-29 추가 -  하단에 소스공개 정보가 있습니다.

2015-12-28 추가 - 2017년 1월과 2월의 대월/소월 정보가 바뀐 버그를 바로잡았습니다.(JiNN 님의 댓글 감사합니다.)(v.0.9.2)


아이폰 캘린더 및 구글캘린더를 사용하면서 소소한 문제가 되는 음력일정을 자동 변환해 주는 프로그램입니다.

개인적으로 구글캘린더와 아이폰 연동 시 어르신 생신을 관리하기 어려워 직접 제작하여 공유합니다.
(소스코드도 곧 공개할 예정입니다.)  

음력달력 생성기(hjLunarCalendarGenerator)


기능은 아래의 3가지 입니다.

1, 음력 / 양력 변환
2, 음력일자 표시 달력 파일 생성
3, 음력 기념일 달력 파일 생성


1, 음력/양력 변환

음력변환 : 음력 년/월/일을 넣고 [음력을 양력으로 변환] 버튼을 누르면 변환된 양력 일자가 화면에 표시됩니다.
  - 윤달인 경우 [위 음력 일자가 윤달인 경우 선택하세요.] 체크박스를 체크하고 시도
양력변환 : 양력 년/월/일을 넣고 [양력을 음력으로 변환] 버튼을 누르면 변환된 음력 일자가 화면에 표시됩니다.

2, 음력일자 표시 달력 파일 생성

☞ 달력파일(ICS 포맷)을 생성하여 구글캘린더 등에 등록하는 기능입니다.

1, 달력범위 조정 : 달력 범위를 조정하여 연도를 조정 합니다.(해당 연도의 달력 파일이 생성됩니다.)   
2, 음력달력 표시 형식 선택
3, [달력파일 생성] 버튼 클릭
4, 파일저장 경로 선택 후 [저장] 버튼 클릭하여 달력 파일 생성    
5, 구글 캘린더 등록

 - 음력달력 테스트(녹색) : 음력이름으로 표시 항목으로 파일 생성 후 등록
 - 음력달력 테스트2(적색) : 5일 간격으로 표시 항목으로 파일 생성 후 등록 

3, 음력 기념일 달력 파일 생성

☞ 음력생일, 제사일 등과 같은 음력 기념일을 등록하고, 달력파일을 생성하는 기능입니다.

1, 달력범위 조정 : 달력 범위를 조정하여 연도를 조정 합니다.  
2, 기념일 추가 : [추가] 버튼을 클릭하여 “기념일 등록” 창을 호출합니다.
3, 기념일 등록 : 음력일자 및 기념일 내용을 입력하구 [저장] 버튼을 클릭합니다.

- 음력일자 : 음력 월과 음력 일을 입력합니다.(말일을 선택해야 하는 경우 [월의 말일로 처리] 체크박스를 선택합니다.) 

- 기념일내용 : 달력에 표시될 기념일 내용을 입력합니다.
4, [기념일 앞에 일자 표시] 체크박스 선택 시 달력에 표시되는 기념일 종류 앞에 일자가 표시됩니다.
5, [달력파일 생성] 버튼 클릭
6, 파일저장 경로 선택 후 [저장] 버튼 클릭하여 달력파일 생성    
7, 구글 캘린더 등록 


혹시 필요하신 기능이 있으시면 댓글달아 주세요.

2012-03-29 추가

해당 프로그램 소스를 공개합니다.

라이센스는 GPL이구요 Github를 이용하여 공개합니다.

프로그램은 델파이(Delphi 2010)라는 RAD Tool로 작성되었습니다.

GIthub 정보

 - https://github.com/hjfactory/hjLunarCalendarGenerator

 - Github 사용법([SW / Dev/오픈소스프로젝트] - GIT과 Github 안내

관심있으신 분은 참여해주시고 Follow도 신청해 주세요^^;

2012-03-29 추가 끝


개선된 내용

  • 2012-05-29 : v0.9.1 - 기념일 추가(신규) 창에서 [삭제] 버튼 누르면 오류 발생 해결


관련글


저작자 표시 비영리
신고

험프리.김현수 Team Thoth/공개소프트웨어 ICS파일, 구글캘린더, 음력 양력 변환기, 음력계산, 음력달력, 음력달력생성기, 음력변환, 음력일자 조회, 태그를 입력해 주세요.

  1. 구정이 다가오고 있습니다. 예전에 제가 만든 음력달력생성기입니다.
    이 참에 새해 음력생일 잊지 마시고 미리미리 등록해 놓으시라고 추천해 드립니다^^

  2. Blog Icon
    unity

    감사합니다. 정말 유용하게 잘 썼습니다.
    다만, 제 사용 환경 win7 64bit 에서 작은 문제가 있는 듯 하여 버그 리포팅 남깁니다.

    1. 기념일 달력 생성-추가-기념일 등록 창에 기념일 내용 입력시 커서가 네모나게 깜빡일 때 저장을 누르면 커서가 위치에 있던 곳의 글자가 사라립니다. 엔터를 누르면 안 사라지고요. 다 입력한 후 방향키로 오른쪽으로 한 칸 이동하거나, 스페이스바로 공백을 한 칸 넣어줘서 커서가 네모 모양이 아닌 1자가 되면 저장을 누르더라도 잘림없이 다 나타납니다. 추가한 기념일 내용을 다시 수정하는 경우에도 위와 동일하게 네모 모양 커서일때 커서가 위치한 곳의 한 글자가 사라지는 경우가 있습니다.

    2. 이건 기능 추가 건의인데요. 달력 파일 만들 때 SpecifiedData 파일이 폴더에 생기길래 창을 닫아도 입력 기념일 내용을 기억하는구나 싶어 달력 파일 생성 후 창을 닫고 다시 열어봤더니 47개 목록중 처음 9개만 빼고 (스크롤 바 생긴 이후의 목록은 전부) 다 사라졌습니다. 다시 시험해보려고 다 ㅈ우고 12개 정도 목록을 넣은 후 달력 파일을 생성하고 창을 닫았다 열었더니 이번엔 목록이 전부 다 사라졌습니다. 아까 9개 남았던 게 버그였겠지요. ㅎㅎ 한 번 입력한 기념일 목록을 txt나 db로 저장해 다시 불러내 쓸 수 있으면 좋겠습니다. 1~2년 단위로 음력 일정을 넣었다 전체 삭제하고 다시 새로 생성하는 일을 하려면 기존에 만들어놨던 기념일 목록을 다시 불러오는 기능이 필요할 것 같습니다. 뭐 안되면 할 수 없겠죠? ^^

  3. 버그레포팅 및 기능건의 감사합니다. 우선 기능의 경우 적극적으로 반영하겠습니다. 그리고 버그의 경우 확인하고 처리해야죠^^ 노력하겠습니다~ 다시한번 감사드립니다.

  4. 올려주신 버그 확인해 봤는데 환경문제인 것 같아요.
    제 테스트 환경도 윈도우7 64bit인데 동일한 버그가 나타나지 않네요.

    그리고 입력한 목록은 SpecifiedData.dat라는 파일이 실행파일과 같은 경로에 생성됩니다. 참고해주세요.

  5. 자료 감사합니다. 정말 구글캘린더에서 음력처리때문에 골치아팠는데 정말 좋은자료 만나 편안하게 사용할 수 있게 되었네요. ^^

  6. 편하게 사용하셨다니 그간 작업에 보람이 있네요^^
    앞으로도 잘 사용하시고 필요한 기능있으면 말씀해 주세요^^
    감사합니다.

  7. 마침 좋은 프로그램을 만나게 되어 고맙게 잘쓰고 있는데요
    음력달력을 설치했더니 핸드폰 바탕화면에 음력날짜가 10일마다 일정처럼 떠서 불편합니다
    삭제하고 싶은데 방법을 모르겠네요
    일일이 하나씩 삭제하려고 하니 엄두가 안나구요
    혹시 삭제하는 방법이 있나요?
    캘린더 초기화 말고 삭제하는 방법도 있었으면 합니다...

  8. 에고 기존 달력에 음력을 추가하셨나 보네요. 음력달력은 음력을 양력으로 변경해서 건건히 등록하기 때문에 캘린더를 하나 생성해서 등록하셔야 합니다. 안타깝게도 기존달력에 추가하신 것을 일괄적으로 지울 방법이 현재로는 없네요. 도움이 되지 못해 죄송해요 ㅠㅜ

  9. Blog Icon
    땡큐

    아. 그렇군요
    잘 모르고 설치한 제 탓이지요 ^^
    답변 감사드리구요
    앞으로 하시는 일 다 잘 되시고 좋은 일 있으시길 바랍니다 ^^

  10. Blog Icon
    망또차차

    구글링하다가 좋은프로그램 찾아서 편하게 잘쓰고 갑니다~

  11. 감사합니다^^ 좋다고 하시니 작업한 보람이 있네요^^

  12. Blog Icon
    bagnad

    매번 음력 기념일 입력한다고 고생했는데, 덕분에 달력을 한방에 정리했습니다.
    감사합니다. ^^

  13. 잘 사용하셨다고 하니 보람이 있네요^^

  14. Blog Icon
    오이김치

    감사합니다. 어르신들 생신이 문제였는데 해결됐네요^^

  15. 저도 처음 어르신 생신때문에 작업을 했지요^^
    잘 사용하시기 바랍니다.

  16. Blog Icon
    메롱꼬마별

    유용하게 잘 쓰겠습니다. 감사합니다.

  17. 네^^ 감사합니다.

  18. Blog Icon
    봉돌이

    고민을 한 방에 해결하는 프로그램이네요. 더 이상 확실한 방법이 없을 듯 합니다.
    정말 감사히 쓰겠습니다. ^^

  19. 네^^ 좋은말씀 감사합니다.~!!

  20. Blog Icon
    KY

    감사합니다. 덕분에 음력기념일을 구글 캘린더에 추가하여 잘 사용하고 있습니다. 누락된 음력 기념일을 추가하고 같은 파일명으로 저장한후, 구글캘린더에서 가져오기 실행하였더니, 추가한 기념일만 구글캘린더에 추가 된 것이 아니라 모든 기념일이 하루에 두개씩 표시됩니다. 구굴캘린더에 표시된 기존 기념일 전체를 한번에 삭제할 수 없나요?

  21. Blog Icon
    전경수

    와우 대박자료네요. 정말 잘 쓰겠습니다 감사합니다.

  22. 네 유용하게 사용하시기 바랍니다^^

  23. Blog Icon
    기발

    아이폰5 ios8.1 사용중인데
    기념일을 생성하면 한글폰트가 깨져 기호로 나옵니다.

  24. Blog Icon
    굿

    아이폰6에서 사용중인데 기념일 한글 폰트가 깨지네요
    또한 이벤트 추가말고 삭제법은없나요? 너무많아서 일일히 삭제하기가 힘들어요..

  25. 안타깝게도 삭제 기능이 없네요 ㅠㅜ
    그래도 새로운 캘린더를 만들고 해당 캘린더에 음력정보를 넣어 사용하기바랍니다. 그러면 캘린더를 통째로 지우면 음력정보도 통째로 지워집니다.

  26. Blog Icon
    경주

    달력 컴포넌트에서 우측상단의 년도를 클릭시 20개의 범위 안에서 선택할수있는데 이 범위를 늘릴 방법은 없나요?

  27. Blog Icon
    무척 유용

    아주 유용한 자료를 찾게 된 기념으로 댓글 한 방. ^^;

    올 초에 음력 달력이 필요해서 검색을 해 봤더니, 초장기간의 음력달력 ics 파일이 돌아다니던데, 아무래도 이 프로그램으로 생성한 파일 인듯?

    저건 너무 기간이 길어서 버리고(?), 다른 파일을 찾아서 사용 중인데 10일 간격으로 음력이 표시되고 어쩌고 하는걸 보니, 이 파일 역시, 김현수님이 만드신 이 프로그램으로 생성한 ics 파일 인 듯.

    여하튼 아주 대박인 프로그램입니다.

    이 프로그램 사용시 유의할 점은요.

    ******************************주의*********************************

    반드시 반드시 새로운 달력을 등록하셔서, 저 달력에서 이 프로그램으로 만든 ics파일을 불러 오세요.

    이 내용을 본문에 대문작만하게 하나 박아주세요. ^___^

    음력을 항상 확인할 것도 아닌데, 음력이 항상 켜져 있으면 귀찮잖아요? 그래서 필요할 때마다 저걸 켰다 껐다 하면서 사용하셔야 됩니다.

    위에 댓글을 보니, 벌써 기존 달력에 병합하신 분이 한 분... 쿨럭~

    공휴일이나 기념일 같은 경우에도 입맛에 따라, 새로운 달력으로 만드는 것도 괜춘. ^^;

    여하튼 이 프로그램 만드신 분이나 사용하시는 분이나 대박 나세요.

  28. Blog Icon
    JiNN

    안녕하세요. 좋은 자료 고맙게 썼습니다.
    그런데 오래된 글이라 이 댓글을 확인하실지는 모르겠지만 음력 2017년에 오류가 있는 것 같습니다. 다음, 네이버, 천문우주포털에서는 1월이 29일까지, 2월이 30일까지인데 이 프로그램에서는 1월이 30일, 2월이 29일까지네요. 이전이나 이후에도 이런 차이가 있는지는 잘 모르겠습니다. 우연히 내년과 내후년 기념일을 입력하다 보니 따로 검색해 직접 입력한 기념일과 이 프로그램으로 입력한 기념일이 차이가 나서 발견했거든요. 혹시 괜찮으시다면 이후 사용하실 다른 분들을 위해 수정해 주시면 좋겠습니다.
    다시 한번 감사드립니다.

  29. 천문우주지식정보(http://astro.kasi.re.kr/)를 참고해 음력 2017년 1월과 2월의 대월/소월이 뒤바뀐 부분을 수정했습니다.(v.0.9.2에 반영되었습니다.)
    의견 감사합니다.

  30. 구글스토어에서 캘린더 어플 마음에 드는 걸 찾았는데, 외국개발자가 만든 어플이라, 음력이 안 되서 아쉬웠는데, 사용후기에 여기서 음력달력 생성하고, 구글캘린더로 올리면 그 어플에서도 이용가능하다고 해서 방문했습니다.
    지금 달력은 잘 만들었습니다. 사용이 기대됩니다. 감사하게 잘 사용하겠습니다.

  31. 감사합니다.^^ 잘 사용하시기 바래요.

  32. Blog Icon
    unity

    잘 쓰고 있습니다!
    오류를 하나 더 발견해서 댓글 남깁니다.
    위 JiNN 님 댓글처럼
    2015년 12월이 29일까지, 2016년 1월이 30일까지인데
    이 프로그램에서는 12월이 30일, 1월이 29일까지네요
    올 음력 1.1~1.30의 생일이 하루씩 밀려서 뭔가 하다가 알았습니다.
    저야 기껏 개인적인 용도니 몇 명 안되서 수작업으로 금방 고쳤지만요. ^^
    좋은 프로그램 만들어 주셔서 합니다!

양력, 음력 기원 및 음력 날짜 변환 원리

2011.12.26 23:31
아이폰의 기본 캘린더를 사용하다보면 심플하게 잘만든것 같습니다.
구글 캘린더와 연동이 되어 기념일이나 잡다한 일정관리도 PC와 동기화도 잘되어 매우 유용하게 사용하고 있었지요...
하지만, 어르신(부모님, 처가어른)의 생신 입력하려고 음력을 기록하려 하자 턱 막히는 거에요.

그래서 음력을 이용하는 방법을 찾다보니 ICS파일로 음력을 등록할 수 있더라고요.

자 그럼 내가 할일은 음력 ICS파일을 만들어 보자 하여 음력 변환하는 원리를 분석 해보고 일부 포스팅 합니다.^^

1, 양력의 기원

 태양의 운행을 기준으로 만든 역법입니다. 양력은 지구가 태양을 한 바퀴 도는 지구의 공전을 기준으로 만드러 졌습니다. 양력의 1년은 365일이지만, 실제의 일년은 365.2422일입니다. 이 차이를 없애기 위해 4년 마다 윤년으로 하루가 늘어 366일이 된답니다. 


 양력은 바빌로니아가 최초로 보기도 합니다. 기원전 3000년 경 지구에서 바라본 태양의 위치가 조금씩 달라져 결국 본래 자리로 돌아온다는 것을 알았고, 그 주기가 약 360일 정도가 된다는 사실도 알게 되었습니다.

 그 결과  바빌로니아 사람들은 1년을 360일로 정하고 태양의 모양처럼 이를 원으로 만든 뒤, 그 원을 360개의 조각으로 나눠 한조각을 하루의 날자와 일치 시켰습니다.


 그 뒤 1천년 쯤 지나 이집트에서 다시 달력을 만들었는데, 당시 이집트 사람들은 나일강의 홍수가 일정 기간마다 되풀이 된다는 사실을 알고 1년의 주기도 365일 6시간 정도 된다는 사실을 밝혔습니다.

 그래서 이집트 사람들은 365일이라는 시간을 1년으로 정하고 나머지 6시간을 따로 모아 1460년째에 1년을 덤으로 만들었습니다. 

 지금의 달력과 당시 이집트 사람들의 달력을 서로 비교하면 한달에 50초 가량의 차이가 난다고 하네요.

 이집트에서 BC 18세기경 1년 365일의 태양력을 만든것이 기원이라 합니다. 


 그후 한참이 지나...

 고대 서양에서 춘분(밤보다 낮이 길어지는 때)을 한해의 기준점으로 보고 이달을 1월로 하여 1년에 10달 304일로 정하였으나, 황제 누마 폼페이누스는 1년을 12개월로 하고 355일로 하는 누마력으로 바꾸었습니다.


 * 율리우스(Julius)력

 B.C 46년 율리우스시저 시대에 1년이 365.25이란 것을 알게되면서 율리우스력에 채용하여 4년마다 1일을 더사는 윤년이 생겨났습니다.

 율리우스는 홀수달을 31일, 짝수달을 30일, 2월달은 평년에는 29일, 유년에는 30일로하여 1년을 365일로 만들었습니다.


 * 아우구스투스(August)

 율리우스시저가 죽은 후 아우구스투스가 로마 황제가 되었는데 황제의 생일이 8월 이어서 8월을 율리우스의 이름을 딴 7월과 마찬가지로 황제의 이름을 딴 아우구스투스(August)라 정하였습니다. 

 또한 홀수달은 31일, 짝수달은 30일이었으나, 자신의 생일이 낀 달은 길어야 한다며 8월을 31일로 바꾸고 이로 인해 8월부터는 짝수달이 31일, 홀수달이 30일이 되었습니다. 이렇게 하기 위해 2월달의 하루를 가져왔기 때문에 2월달은 하루가 더 짧아지게 되었습니다. 그리하여 7월과 8월은 연달아 31일이 되고 2월달은 평년에는 28일, 유년에는 29일로 되었습니다. 


 * 그래고리(Gregorian)력

 율리우스력은 실제 1년의 길이보다 약 11분 14초 정도가 길어 128년 마다 하루씩 길어지는 오차가 생깁니다.

 그레고리 13세 교황은 이 오차를 없애기 위해 윤년방식을 조금 수정 보완 하였는데...


 그 방법은 정상적으로 4년마다 유년을 넣으면 128년마다 하루가 남는다, 그래서 그래고리 교황은 100년마다 윤년을 넣지 않기로 했습니다. 그렇게 되면 400년이 되는 해에 112/128=0.875일이 모자라게 됩니다.

 그러므로 400년이 되는 해는 윤년으로 하기로 합니다.

 이런 방식으로 개량해도 400년마다 약 0.125일 정도의 오차가 발생합니다.

 (400년 - 128년 * 3 =  16년, 16년 / 128년 = 0.125일)


 그래고리력은 지중해 부근의 국가에서는 즉시 채택되었지만, 네덜란드 덴마크 등은 1700년 경 사용했고, 영국은 1750년경 러시아는 1918년에야 사용하게 되었습니다.

 우리나라는 그래고리력을 1986년 1월 1일부터 고종황제의 명으로 사용했습니다. 

양력 정리

0, 윤년은 2월에 하루를 더하여 29일 까지로 한다.

1, 4로 나누어 떨어지는 해는 윤년으로 한다. ( 예> 2008년 )

2, 100으로 나누어 떨어지는 해는 윤년이 아니다. ( 예> 2100년 )

3, 400으로 나누어 떨어지는 해는 윤년으로 한다. ( 예> 2000년 ) 


2, 음력의 기원

 달이 지구를 한 바퀴 도는 시간을 기준(달의 삭망을 기준)으로 만든 역법입니다.

 *  순태음력
 보름달에서 다시 보름달이 되는데 걸리는 시간을 한달로 잡은 달력입니다. 다시 말하면 달이 지구를 한바퀴 돌아 다시 그 위치로 돌아오기 까지는 29일 반 정도 걸립니다.
 이것을 1삭망월이라고 하고 1삭망월(
朔望月)은 29.53059일 입니다.
 한달이 약 29.5일이 되므로, 작은달(29일)과 큰달(30일)을 번갈아 두고 1년을 12달로 하면 29.5일 * 12달 = 354일 정도가 되는데 이름 순태음력이라고 합니다. 

  
 * 태양태음력
 순태음력(354일)은 태양력(365일)과는 11일의 차이가 생기는데 이 차이를 보완하기 위해 윤달을 넣어줍니다.  이렇게 윤달을 넣어준 달력이 실제 우리가 사용하는 태양태음력입니다.
 1태양년은 365.2422일이므로 순태음력(354일)은 1태양년보다 약 11일이 짧습니다. 그래서 3년에 한달 또는 8년에 석달의 윤달을 넣습니다. 
 만약, 윤달을 전혀 넣지 않으면 지금으로 부터 17년 후에는 5,6월에 눈이 내리고 동지·섣달에 더위로 고통을 바게 됩니다.

 예로부터 윤달을 두는 방법이 여러 가지로 고안되었습니다. 그 중 19태양년에 7개월의 윤달을 두는 방법을 19년 7윤법(十九年七閏法)이라 하여 가장 많이 쓰이는 방법입니다. 이에 의하면 19태양년은 235태음월과 같은 일수가 됩니다.

 19태양년 = 365.2422일 * 19 = 6939.6018일
 235삭망월 = 29.53059일 * 235 = 6939.6887일
 
 19년마다 양력과 음력 생일이 일치하게 되며 오차는 0.0879일(2.09시간) 정도로 두달력이 거의 맞아 떨어집니다.

  옛날부터 윤달은 썩은 달 이라하여 하늘과 땅의 신(神)이 사람들에 대한 감시를 쉬는 기간으로 그때는 불경스러운 행동도 신의 벌을 피할 수 있다고 널리 알려졌습니다.

 이 때문에 윤달에는 이장(移葬)을 하거나 수의(壽衣)를 하는 풍습이 전해 내려왔습니다.

 * 윤달 넣는법
 윤달은 24절기를 기준으로 들어갑니다.

   1월 2월 3월  4월  5월  6월  7월  8월   9월 10월  11월  12월 
 12절기 입춘 경칩  청명  입하  망종  소서  입추  백로  한로  입동  대설 소한 
 12중기 우수  춘분  곡우  소만  하지  대서  처서  추분  상강  소설  동지  대한 
 - 춘분, 추분 : 밤과 낮의 길이가 같은날(봄, 가을)
 - 하지, 동지 : 낮의 길이가 가장 긴날(여름), 밤의 길이가 가장 긴 날(겨울)

 위 표에서 24절기를 위아래로 번갈아 썼는데요, 위의 24절기는 태양이 움직이는 길(황도)을 24등분 하여 태양의 위치에 따라 절기의 이름을 붙인겁니다. 위의 춘분, 하지, 추분, 동지를 보시면 알 수 있듯이 태양의 움직임과 관련이 있습니다.

 태양의 움직임은 대략 360일 정도로 반복되므로, 이것을 24등분하여 약 15일 마다 마디를 만든것이 24절기이고 양력의 성격을 띠고 있습니다. 24절기가 사용되는 역법 자체는 음력, 정확히 태음태양력에서 사용되고 있으므로 음력에서 사용된다고 말할 수 있습니다.
 현재 우리가 사용하는 음력에서 사용되는 양력 요소라고 하는것이 가장 정확한 표현이 되겠네요.
 
 음력은 19년 동안 7번의 윤달을 둔다고 하였는데, 윤달을 결정하기위해 이 24절기가 사용됩니다. 24절기 중 중기가 음력의 달에 사용하는데 음력 한달에 중기가 들면, 그것으로 한달의 이름으로 결정합니다.
 우사가 든 달을 음력1월, 춘분이 든 달은 음력2월, 곡우가 든 달은 음력 3월이 됩니다. 우리가 11월을 흔히 동짓달이라 부르는 것도 11번째 중기가 동지이기 때문입니다.
 중기와 중기 사이가 음력 한달보다 조금 길기 때문에, 중기가 없는 달이 가끔 나타납니다. 
 바로 이런 중기가 없는 달을 윤달로 삼는 규칙을 무중치윤법(無中置閏法)이라고 합니다. 중기가 없는 달을 윤달로 삼는다는 뜻입니다.


 
3, 양력, 음력 변환 방법 

* 양력 / 음력 변환하기 전 준비 사항
 1) 음력 월별 대소월 구분 - 한국천문연구원(http://www.kasi.re.kr) 참고
 2) 윤달 정보와 윤달의 대소월 구분  - 한국천문연구원(http://www.kasi.re.kr) 참고
 3
) 특정 기준일의 음력과 양력 차이 일수(예> 1881년 1월 1일은 29일 차이: 양력 1월 30일이 음력 1월 1일)

 * 양력을 음력으로 변환하기
 1) 특정 기준일과 변환 대상일의 양력 일 수를 구한다.
 2) 1의 양력 일 수에서  기준일의 음력연도의 일수를 감하며 음력 년도를 증가한다.(단, 연도보다 일 수 가 적으면 중단)
 3) 2의 남은 일수에서 2의 음력 년도의 월수만큼 씩 감하여 음력 월을 증가한다.
 4) 3에서 남은 일수를 음력의 일수로 하여 음력일자를 구한다. 

 * 음력을 양력으로 변환하기
 위의 양력을 음력으로 변환하기 공식의 반대로 계산한다.

 

* 위의 변환 방법은 샘플 데이터 없이 설명하기가 무척 난해 하네요^^ 차후 프로그램 개발 후 샘플 데이터로 보충 설명이 필요할 것 같습니다. To be continue.

참고:  각종 카페, 지식정보, 블로그 등(두서 없이 자료 수집하느라 출처를 일일이 기록 못했네요.)

| 관련글 

2012/02/07 - [공개프로그램/음력달력 생성기] - 음력달력 생성기(hjLunarCalendarGenerator)

신고

험프리.김현수 기타정보 양력기원, 양력음력, 양력음력변환, 음력기원, 음력변환