틀:달력: 두 판 사이의 차이

잔글편집 요약 없음
태그: 2017 원본 편집
잔글편집 요약 없음
태그: 2017 원본 편집
 
6번째 줄: 6번째 줄:
-->
-->


<!-- 편의를 위해 자주 쓰는 표현을 주석으로만 적어 둘게요.
<!-- year/month 기본값: 파라미터 없으면 '지금 시각' 기준 -->
    실제 계산은 셀 안에서 바로 합니다.
{{#vardefine:calyear|{{{year|{{#time:Y|+9 hours}}}}}}}
{{#vardefine:calmonth|{{{month|{{#time:n|+9 hours}}}}}}}


  Y  = {{{year|{{#time:Y|+9 hours}}}}}
<!-- 이 달 1일의 요일 (0=일, 6=토) -->
  M  = {{{month|{{#time:n|+9 hours}}}}}
{{#vardefine:firstdow|
   FD = {{#time:w|Y-M-01 +9 hours}}     (이 달 1일의 요일 0~6)
  {{#time:w|{{#var:calyear}}-{{#var:calmonth}}-01 +9 hours}}
  DIM= {{#time:t|Y-M-01 +9 hours}}    (이 달의 마지막 날짜)
}}
   T  = 오늘이 (Y,M)면 j, 아니면 0    (오늘인 날자만 굵게)
 
-->
<!-- 이 달의 마지막 날짜 (28/29/30/31) -->
{{#vardefine:daysinmonth|
  {{#time:t|{{#var:calyear}}-{{#var:calmonth}}-01 +9 hours}}
}}
 
<!-- 오늘이 이 달 안이면 today=오늘날짜, 아니면 0 -->
{{#vardefine:today|
   {{#ifexpr:
      {{#time:Y|+9 hours}}{{#time:n|+9 hours}}
      = {{#var:calyear}}{{#var:calmonth}}
    | {{#time:j|+9 hours}}
     | 0
   }}
}}


{| class="wikitable" style="width:100%; text-align:center; font-size:12px; margin-bottom:10px;"
{| class="wikitable" style="width:100%; text-align:center; font-size:12px; margin-bottom:10px;"


|+ style="font-weight:bold; padding:4px 0;" |
|+ style="font-weight:bold; padding:4px 0;" |
[[달력/{{#time:Y-m|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}}-01 -1 month}}|«]]
[[달력/{{#time:Y-m|{{#var:calyear}}-{{#var:calmonth}}-01 -1 month}}|«]]
&nbsp; 📅 {{{year|{{#time:Y|+9 hours}}}}}년 {{{month|{{#time:n|+9 hours}}}}}월 달력 &nbsp;
&nbsp; 📅 {{#var:calyear}}년 {{#var:calmonth}}월 달력 &nbsp;
[[달력/{{#time:Y-m|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}}-01 +1 month}}|»]]
[[달력/{{#time:Y-m|{{#var:calyear}}-{{#var:calmonth}}-01 +1 month}}|»]]


! 일 !! 월 !! 화 !! 수 !! 목 !! 금 !! 토
! 일 !! 월 !! 화 !! 수 !! 목 !! 금 !! 토
<!-- 공통 계산식들: 셀마다 그대로 써 넣습니다 -->
<!--
FD  = {{#time:w|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}}
DIM = {{#time:t|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}}
T  = {{#ifexpr:
          {{#time:Y|+9 hours}}{{#time:n|+9 hours}}
          = {{{year|{{#time:Y|+9 hours}}}}}{{{month|{{#time:n|+9 hours}}}}}
        | {{#time:j|+9 hours}}
        | 0 }}
-->


<!-- 1행: 칸 번호 0~6 -->
<!-- 1행: 칸 번호 0~6 -->
|-
|-
| {{달력셀
| {{달력셀|day={{#expr: 0 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
    |day={{#expr: 0 - {{#time:w|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}} + 1 }}
| {{달력셀|day={{#expr: 1 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
    |days={{#time:t|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}}
| {{달력셀|day={{#expr: 2 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
    |today={{#ifexpr:
| {{달력셀|day={{#expr: 3 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
              {{#time:Y|+9 hours}}{{#time:n|+9 hours}}
| {{달력셀|day={{#expr: 4 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
              = {{{year|{{#time:Y|+9 hours}}}}}{{{month|{{#time:n|+9 hours}}}}}
| {{달력셀|day={{#expr: 5 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
            | {{#time:j|+9 hours}}
| {{달력셀|day={{#expr: 6 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
            | 0 }}
  }}
| {{달력셀
    |day={{#expr: 1 - {{#time:w|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}} + 1 }}
    |days={{#time:t|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}}
    |today={{#ifexpr:
              {{#time:Y|+9 hours}}{{#time:n|+9 hours}}
              = {{{year|{{#time:Y|+9 hours}}}}}{{{month|{{#time:n|+9 hours}}}}}
            | {{#time:j|+9 hours}}
            | 0 }}
  }}
| {{달력셀
    |day={{#expr: 2 - {{#time:w|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}} + 1 }}
    |days={{#time:t|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}}
    |today={{#ifexpr:
              {{#time:Y|+9 hours}}{{#time:n|+9 hours}}
              = {{{year|{{#time:Y|+9 hours}}}}}{{{month|{{#time:n|+9 hours}}}}}
            | {{#time:j|+9 hours}}
            | 0 }}
  }}
| {{달력셀
    |day={{#expr: 3 - {{#time:w|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}} + 1 }}
    |days={{#time:t|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}}
    |today={{#ifexpr:
              {{#time:Y|+9 hours}}{{#time:n|+9 hours}}
              = {{{year|{{#time:Y|+9 hours}}}}}{{{month|{{#time:n|+9 hours}}}}}
            | {{#time:j|+9 hours}}
            | 0 }}
  }}
| {{달력셀
    |day={{#expr: 4 - {{#time:w|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}} + 1 }}
    |days={{#time:t|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}}
    |today={{#ifexpr:
              {{#time:Y|+9 hours}}{{#time:n|+9 hours}}
              = {{{year|{{#time:Y|+9 hours}}}}}{{{month|{{#time:n|+9 hours}}}}}
            | {{#time:j|+9 hours}}
            | 0 }}
  }}
| {{달력셀
    |day={{#expr: 5 - {{#time:w|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}} + 1 }}
    |days={{#time:t|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}}
    |today={{#ifexpr:
              {{#time:Y|+9 hours}}{{#time:n|+9 hours}}
              = {{{year|{{#time:Y|+9 hours}}}}}{{{month|{{#time:n|+9 hours}}}}}
            | {{#time:j|+9 hours}}
            | 0 }}
  }}
| {{달력셀
    |day={{#expr: 6 - {{#time:w|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}} + 1 }}
    |days={{#time:t|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}}
    |today={{#ifexpr:
              {{#time:Y|+9 hours}}{{#time:n|+9 hours}}
              = {{{year|{{#time:Y|+9 hours}}}}}{{{month|{{#time:n|+9 hours}}}}}
            | {{#time:j|+9 hours}}
            | 0 }}
  }}


<!-- 2행: 7~13 -->
<!-- 2행: 7~13 -->
|-
|-
| {{달력셀
| {{달력셀|day={{#expr: 7 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
    |day={{#expr: 7 - {{#time:w|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}} + 1 }}
| {{달력셀|day={{#expr: - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
    |days={{#time:t|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}}
| {{달력셀|day={{#expr: 9 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
    |today={{#ifexpr:
| {{달력셀|day={{#expr: 10 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
              {{#time:Y|+9 hours}}{{#time:n|+9 hours}}
| {{달력셀|day={{#expr: 11 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
              = {{{year|{{#time:Y|+9 hours}}}}}{{{month|{{#time:n|+9 hours}}}}}
| {{달력셀|day={{#expr: 12 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
            | {{#time:j|+9 hours}}
| {{달력셀|day={{#expr: 13 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
            | 0 }}
 
  }}
<!-- 3행: 14~20 -->
| {{달력셀
|-
    |day={{#expr: 8 - {{#time:w|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}} + 1 }}
| {{달력셀|day={{#expr: 14 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
    |days={{#time:t|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}}
| {{달력셀|day={{#expr: 15 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
    |today={{#ifexpr:
| {{달력셀|day={{#expr: 16 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
              {{#time:Y|+9 hours}}{{#time:n|+9 hours}}
| {{달력셀|day={{#expr: 17 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
              = {{{year|{{#time:Y|+9 hours}}}}}{{{month|{{#time:n|+9 hours}}}}}
| {{달력셀|day={{#expr: 18 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
            | {{#time:j|+9 hours}}
| {{달력셀|day={{#expr: 19 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
            | 0 }}
| {{달력셀|day={{#expr: 20 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
  }}
 
| {{달력셀
<!-- 4행: 21~27 -->
    |day={{#expr: 9 - {{#time:w|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}} + 1 }}
|-
    |days={{#time:t|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}}
| {{달력셀|day={{#expr: 21 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
    |today={{#ifexpr:
| {{달력셀|day={{#expr: 22 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
              {{#time:Y|+9 hours}}{{#time:n|+9 hours}}
| {{달력셀|day={{#expr: 23 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
              = {{{year|{{#time:Y|+9 hours}}}}}{{{month|{{#time:n|+9 hours}}}}}
| {{달력셀|day={{#expr: 24 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
            | {{#time:j|+9 hours}}
| {{달력셀|day={{#expr: 25 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
            | 0 }}
| {{달력셀|day={{#expr: 26 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
  }}
| {{달력셀|day={{#expr: 27 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
| {{달력셀
 
    |day={{#expr: 10 - {{#time:w|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}} + 1 }}
<!-- 5행: 28~34 -->
    |days={{#time:t|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}}
|-
    |today={{#ifexpr:
| {{달력셀|day={{#expr: 28 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
              {{#time:Y|+9 hours}}{{#time:n|+9 hours}}
| {{달력셀|day={{#expr: 29 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
              = {{{year|{{#time:Y|+9 hours}}}}}{{{month|{{#time:n|+9 hours}}}}}
| {{달력셀|day={{#expr: 30 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
            | {{#time:j|+9 hours}}
| {{달력셀|day={{#expr: 31 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
            | 0 }}
| {{달력셀|day={{#expr: 32 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
  }}
| {{달력셀|day={{#expr: 33 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
| {{달력셀
| {{달력셀|day={{#expr: 34 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
    |day={{#expr: 11 - {{#time:w|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}} + 1 }}
    |days={{#time:t|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}}
    |today={{#ifexpr:
              {{#time:Y|+9 hours}}{{#time:n|+9 hours}}
              = {{{year|{{#time:Y|+9 hours}}}}}{{{month|{{#time:n|+9 hours}}}}}
            | {{#time:j|+9 hours}}
            | 0 }}
  }}
| {{달력셀
    |day={{#expr: 12 - {{#time:w|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}} + 1 }}
    |days={{#time:t|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}}
    |today={{#ifexpr:
              {{#time:Y|+9 hours}}{{#time:n|+9 hours}}
              = {{{year|{{#time:Y|+9 hours}}}}}{{{month|{{#time:n|+9 hours}}}}}
            | {{#time:j|+9 hours}}
            | 0 }}
  }}
| {{달력셀
    |day={{#expr: 13 - {{#time:w|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}} + 1 }}
    |days={{#time:t|{{{year|{{#time:Y|+9 hours}}}}}-{{{month|{{#time:n|+9 hours}}}}}-01 +9 hours}}
    |today={{#ifexpr:
              {{#time:Y|+9 hours}}{{#time:n|+9 hours}}
              = {{{year|{{#time:Y|+9 hours}}}}}{{{month|{{#time:n|+9 hours}}}}}
            | {{#time:j|+9 hours}}
            | 0 }}
  }}


<!-- 아래 3~6행도 같은 패턴으로
<!-- 6행: 35~41 -->
    day=14~41까지 숫자만 바꿔서 이어 붙이면 됩니다 -->
|-
<!-- ... (여기 이후는 위 패턴 그대로 복붙 + 숫자만 증가) ... -->
| {{달력셀|day={{#expr: 35 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
| {{달력셀|day={{#expr: 36 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
| {{달력셀|day={{#expr: 37 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
| {{달력셀|day={{#expr: 38 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
| {{달력셀|day={{#expr: 39 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
| {{달력셀|day={{#expr: 40 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}
| {{달력셀|day={{#expr: 41 - {{#var:firstdow}} + 1}}|days={{#var:daysinmonth}}|today={{#var:today}}}}


|}
|}