틀:음력값

틀 설명문서[보기] [편집] [역사] [새로 고침]

율리우스 적일을 입력 받아 각 날짜의 고유 음력값(한국 음력)을 출력하는 틀입니다. {{율리우스일}}과 함께 쓰면 그레고리력이나 율리우스력 같은 서력 날짜를 음력으로 변환할 수 있습니다. 또한, #expr 특수 함수를 쓰면 출력된 음력값에서 각 날짜 요소를 추출할 수 있습니다.

사용법편집

{{음력값|1=(율리우스일)}}

입력 범위편집

이 틀에서 다룰 수 있는 범위는 율리우스일 2229156(그레고리력 1391년 2월 13일, 율리우스력 2월 5일, 고려 공양왕 3년 정월 초하루, 음력 신미년 1월 1일)부터 율리우스일 2521306(그레고리력 2190년 12월 31일, 율리우스력 12월 17일, 음력 경인년 12월 5일)까지입니다. 그 전이나 후의 날짜를 입력하면 오류 메시지로 outofrange를 출력합니다. 친절한 오류 메시지를 출력하지 않는 이유는 띄어쓰기나 기호 없는 영문자로 구성된 오류 메시지만이 #expr이나 #ifexpr 특수 함수의 최종 오류 메시지까지 전달되기 때문입니다.

출력 형식편집

이 틀에서 출력하는 음력값 형식은 특정한 표준이나 법률에 의거한 것은 아니지만 다른 위키백과 틀이나 다른 소프트웨어 등에서 범용으로 사용하는 것을 염두에 둔 것입니다.

출력 형식은 다음과 같습니다.

CYYMMLDD

  • C: 갑자(주기). 갑자년 정월 초하루를 시작으로 60년 동안을 한 단위로 하는 주기입니다. 세종 26년 정월 초하루부터 1로 시작합니다. 자릿수는 유동적입니다. 1갑자의 전은 -1갑자부터가 아니라 0갑자부터 셉니다.
  • YY: 세차. 갑자년이 01, 을축년이 02계해년이 60입니다. 두 자리 고정이므로 1 ~ 9는 01 ~ 09로 표시됩니다.
  • MM: 월. 정월01, 2월이 02 … 12월이 12입니다. 윤달도 같습니다. 두 자리 고정이므로 1 ~ 9는 01 ~ 09로 표시됩니다.
  • L: 윤달. 평달이면 0, 윤달이면 1 입니다. 한 자리 고정.
  • DD: 일. 초하루가 01, 초이틀이 02 … 그믐날은 달에 따라 29 또는 30입니다. 두 자리 고정이므로 1 ~ 9는 01 ~ 09로 표시됩니다.

이 틀에서 다룰 수 있는 입력 범위가 제한되므로 출력 범위도 따라서 0갑자 일부에서부터 11갑자 일부까지로 제한됩니다. 참고로 영어판의 중국 음력 틀은 서력 기원전 2637년경을 1갑자로 시작하도록 되어있으며 실제 구현된 범위는 서력 기원후 4년(45갑자)부터입니다.

출력 형식에 대한 이해를 돕기 위해 예를 들면 다음과 같습니다.

율리우스력 그레고리력 율리우스 적일 음력 출력 형식 비고
(서기 1324년경) 고려 충숙왕 11년(갑자) 1월 1일 -10101001 현재 천문연 자료가 없으므로 다루지 못함.
(서기 1383년경) 고려 우왕(禑王) 9년(계해) 1월 1일 -16001001 위와 같음.
(서기 1384년경) 고려 우왕 10년(갑자) 1월 1일 00101001 위와 같음.
1444-01-19 1444-01-28 2248497 세종 25년(계해) 12월 30일 06012030 0갑자
1444-01-20 1444-01-29 2248498 세종 26년(갑자) 1월 1일 10101001 1갑자 기원일
1444-07-15 1444-07-24 2248675 세종 26년(갑자) 7월 1일 10107001
1444-08-13 1444-08-22 2248704 세종 26년(갑자) 7월 30일 10107030
1444-08-14 1444-08-23 2248705 세종 26년(갑자) 7월 1일(윤) 10107101
1444-09-11 1444-09-20 2248733 세종 26년(갑자) 7월 29일(윤) 10107129
1445-02-06 1445-02-15 2248881 세종 26년(갑자) 12월 29일 10112029
2000-01-23 2000-02-05 2451580 10갑자 경진년 1월 1일 101701001

사용 예편집

입력 결과 비고
{{음력값|1=2451545}} 101611025 그레고리력 2000년 1월 1일의 율리우스일
{{음력값|1={{율리우스일|2000|1|1}}}} 101611025 위와 같음
{{음력값|1={{율리우스일|{{지역년}}|{{지역월}}|{{지역일}}}}}} 103805014 오늘 날짜
{{음력값|1=2229155}} outofrange 다룰 수 있는 범위를 넘는 과거
{{음력값|1=2229156}} 00801001 다룰 수 있는 가장 먼 과거
{{음력값|1=2521306}} 132712005 style="padding: 0.5em;"|다룰 수 있는 가장 먼 미래
{{음력값|1=2521307}} outofrange 다룰 수 있는 범위를 넘는 미래

기술적 사항편집

음력 달력 기준편집

한국에서 쓰는 음력(태음태양력)의 월별 날수와 윤달태양력의 간단한 윤년 법칙과 달리 복잡하게 결정되며 천체 관측의 정확도나 지역의 위경도 등에 영향을 받는데, 역사상 쓰인 음력은 천체 관측의 오차나 표준 시간대 혼란 등으로 인해 규칙에서 어긋나게 산정된 적도 있습니다. 그러므로 현재 음력을 산정하는 규칙에 의해 단순히 역산하게 되면 과거 실제 쓰인 달력과 결과가 다를 수 있습니다. 이 틀에서는 대한민국의 역을 관장하는 기관인 한국천문연구원에서 제공하는 1391년부터 2050년까지의 음양력 변환 자료를 이용해 음력을 변환합니다.

음력월의 첫날은 달의 을 기준으로 하므로 경도에 따라 첫날이 달라질 수 있습니다. 따라서 중국에서 쓰는 음력과 한국에서 쓰는 음력은 가끔 하루 차이가 나기도 합니다.

이 틀에서 1갑자의 기원으로 삼는 세종 26년 정월 초하루는 갑자년 병인월 신해일, 율리우스력 1444년 1월 20일 월요일, 역산 그레고리력 1444년 1월 29일, 율리우스 적일 2248498이며 이해는 칠정산내편이 간행된 해로서 조선 후기의 만세력에서 첫 상원갑자(上元甲子)로 삼는 해입니다.

출력 결과의 응용편집

이 틀의 출력에서 개별 날짜 요소를 추출하려면 다음과 같은 코드를 씁니다. (추후 음수까지 출력이 확장될 때를 고려한 안전한 코드)

요소 코드 비고
갑자(주기) {{#expr:trunc(({{음력값}})/10000000)}} 10000000대신 1e7을 써도 무방.
세차 {{#expr:abs({{{음력값}}})/100000mod100}} {{세차}} 참고
{{#expr:abs({{음력값}})/1000mod100}} {{음력월}} 참고
월건 {{#expr:abs({{음력값}})/1000mod500}} {{월건}} 참고
윤달 {{#expr:abs({{음력값}})/100mod10}} {{윤달}}, {{음력}} 참고
{{#expr:abs({{음력값}})mod100}} {{음력일}} 참고
일진 {{#expr:(({{율리우스일}})mod60+60)mod60}} 이 틀 필요 없이 율리우스일 틀을 바로 씀. {{일진}} 참고

여러 개의 출력값을 시간 순으로 정렬하려면 다음과 같이 합니다.

  • 양수 값만 있을 경우(서기 1384년경 고려 우왕 10년 음력 1월 1일 이후에 대한 결과): 오름차순 정렬.
  • 음수 값도 있을 경우(서기 1384년경 고려 우왕 10년 음력 1월 1일 전을 포함한 결과):
  1. 백만(일곱째) 자리 이상 수로 오름차순 정렬.
  2. 백만 자리 이상 수가 같은 값끼리는 절댓값으로 오름차순 정렬.

2011년 7월 현재 이 틀에서 다루는 범위는 모두 양수이므로 오름차순 정렬 한 번만으로 시간 순 정렬할 수 있으나 추후 다루는 범위가 확장될 때를 고려한다면 음수 항목이 있다고 가정해야 합니다.

같이 보기편집

  • 이 틀에서 쓰는 전용 메타 틀
    • {{음력값/0}}: 0주기 신미년 ~ 계해년 (1391-02-13 ~ 1444-01-28)
    • {{음력값/1}}: 1주기 갑자년 ~ 계해년 (1444-01-29 ~ 1504-01-26)
    • {{음력값/2}}: 2주기 갑자년 ~ 계해년 (1504-01-27 ~ 1564-01-23)
    • {{음력값/3}}: 3주기 갑자년 ~ 계해년 (1564-01-24 ~ 1624-02-18)
    • {{음력값/4}}: 4주기 갑자년 ~ 계해년 (1624-02-19 ~ 1684-02-14)
    • {{음력값/5}}: 5주기 갑자년 ~ 계해년 (1684-02-15 ~ 1744-02-12)
    • {{음력값/6}}: 6주기 갑자년 ~ 계해년 (1744-02-13 ~ 1804-02-10)
    • {{음력값/7}}: 7주기 갑자년 ~ 계해년 (1804-02-11 ~ 1864-02-07)
    • {{음력값/8}}: 8주기 갑자년 ~ 계해년 (1864-02-08 ~ 1924-02-04)
    • {{음력값/9}}: 9주기 갑자년 ~ 계해년 (1924-02-05 ~ 1984-02-01)
    • {{음력값/10}}: 10주기 갑자년 ~ 계해년 (1984-02-02 ~ 2044-01-29)
    • {{음력값/11}}: 11주기 갑자년 ~ 계해년 (2044-01-30 ~ 2104-01-27)
    • {{음력값/12}}: 12주기 갑자년 ~ 계해년 (2104-01-28 ~ 2164-01-23)
    • {{음력값/13}}: 13주기 갑자년 ~ 경인년 (2164-01-24 ~ 2190-12-31)
    • {{음력값/오류}}: 범위 벗어난 입력에 대해 오류 출력

외부 링크편집