「テンプレート:Checkdate」の版間の差分

提供:関南・東山地方Wiki
ナビゲーションに移動 検索に移動
template>しまあじ
(関数と内部テンプレートの呼び出しを減らして軽量化)
(77版 をインポートしました)
 
(9人の利用者による、間の36版が非表示)
1行目: 1行目:
{{#if:{{{1|}}}|{{#ifeq:{{padleft:|6|{{{1}}}}}|{{{1}}}|{{{1}}}<!-- yyyy年n月 -->
{{#ifeq:{{padleft:|7|{{{1}}}*}}|{{padleft:|7|{{{1}}} }}
  |{{#ifeq:{{padleft:|7|{{{1}}}}}|{{{1}}}
|{{padleft:|7|{{{1}}} }}<!-- yyyy*m月~(月1桁) -->
  |{{#ifeq:{{padleft:|5|{{{1}}}}}1|{{padleft:|6|{{{1}}}}}|{{{1}}}<!-- yyyy年1n月 -->
  |{{#ifeq:{{padleft:|8|{{{1}}}*}}{{padleft:|6|{{{1}}} }}|{{padleft:|8|{{{1}}} }}{{padleft:1|6|{{{1}}} }}
   |{{Checkdate/ja|defaultdate={{{defaultdate|}}}|{{{1}}}}}<!-- yyyy年0n月 -->
   |{{padleft:|8|{{{1}}} }}<!-- yyyy*1*月~ -->
  }}
  |{{#ifeq:{{padleft:|6|{{{1}}}*}}<!-- yyyy-m~ , yyyy-mm~ -->
  |{{#ifeq:{{{1}}}|2007年1月以前|{{{1}}}<!-- 例外 -->
          |{{#expr:trunc{{padleft:|4|{{{1|}}} }} }}-{{#expr:trunc-(-0.{{padleft:|6|{{{1|}}} }}) }}
  |{{#iferror:{{#time:Y年F|{{{1}}}}}
    |{{padleft:|4|{{{1}}} }}<!--
  |{{Checkdate/ja|defaultdate={{{defaultdate|}}}|{{{1}}}}}<!-- {{#time}}が認識できない書式はここに来る
      -->{{#expr:-(trunc 0.{{padleft:|{{#if:{{#ifexpr:{{padleft:|7|{{{1}}}*}} }}|6|7}}|{{{1}}} }}) }}
-->|{{#ifeq:{{padleft:|2|{{{1}}}X}}|20<!-- {{#time}}が誤認識している可能性のある書式はここに来る
    |{{#if:{{#if:{{{1|}}}|{{#time:|{{{1}}} 2100 +7940 year}}|error}}<!-- Month yyyy , yyyy d Month など -->
-->|{{#ifeq:{{#time:Y-n|{{{1}}}-1}}|{{{1}}}
      |{{#ifeq:{{padleft:|3|{{{defaultdate|}}}X}}|エラー
    |{{#time:Y年F|{{{1}}}-1}}
        |{{ErrorJA|alias={{{1|}}}|{{{defaultdate}}} }}
    |{{#ifeq:{{#time:Y-m|{{{1}}}-1}}|{{{1}}}
        |{{{defaultdate|}}}<!-- エラー出力 -->
      |{{#time:Y年F|{{{1}}}-1}}
        }}
      |{{#ifeq:{{{1}}}|{{padleft:|6|{{{1}}}XXXXX}}
      |{{#time:Y年F|{{{1}}} }}
      |{{Checkdate/zh|defaultdate={{{defaultdate|}}}<!-- 6文字の場合
      }}
      -->|{{padleft:|4|{{{1}}}}}-{{Checkdate/str index|{{padleft:|4|{{{1}}}}}|{{padleft:|5|{{{1}}}}}}}<!--
      -->{{Checkdate/str index|{{padleft:|5|{{{1}}}}}|{{padleft:|6|{{{1}}}}}}}-1}}<!-- yyyymm
    -->|{{Checkdate/zh|defaultdate={{{defaultdate|}}}|{{{1}}}}}<!-- 中国語版
    -->}}
      }}
     }}
     }}
    |{{#iferror:{{#time:Y年F|1 {{{1}}}}}
      |{{Checkdate/error|{{{1}}}|defaultdate={{{defaultdate|}}}}}
      |{{#time:Y年F|1 {{{1}}}}}<!-- 英語版 -->
    }}
    }}
   }}
   }}
  }}
  }}<noinclude>
}}
{{Documentation}}</noinclude>
}}
|{{#if:{{{getY4|}}}
|{{Checkdate/YM|Y4={{#expr:{{padleft:|4|{{#ifeq:{{padleft:|2|{{{getY4}}}X}}|20<!--
-->|{{#iferror:{{#expr:{{padleft:|4|{{{getY4}}}XXX}}}}|0<!-- NG -->|{{padleft:|4|{{{getY4}}}}}}}<!--
  -->|{{#iferror:{{#time:Y|1 {{{getY4}}}}}|0<!-- NG -->|{{#time:Y|1 {{{getY4}}}}}}}}}}}}}<!--
-->|year-min={{{year-min|}}}|year-max={{{year-max|}}}|defaultdate={{{defaultdate|}}}
}}
|{{#if:{{{getM1|}}}
  |{{Checkdate/YM|Y4={{#expr:{{padleft:|4|{{#ifeq:{{padleft:|2|{{{getM1}}}X}}|20<!--
  -->|{{#iferror:{{#expr:{{padleft:|4|{{{getM1}}}XXX}}}}|0<!-- NG -->|{{padleft:|4|{{{getM1}}}}}}}<!--
  -->|{{#iferror:{{#time:Y|1 {{{getM1}}}}}|0<!-- NG -->|{{#time:Y|1 {{{getM1}}}}}}}}}}}}}<!--
-->|year-min={{{year-min|}}}|year-max={{{year-max|}}}
    |M1={{#switch:{{#ifeq:{{padleft:|2|{{{getM1}}}X}}|20|<!--
      -->{{Checkdate/str index|{{padleft:|4|{{{getM1}}}XX}}|{{padleft:|5|{{{getM1}}}XXX}}}}<!--
      -->{{Checkdate/str index|{{padleft:|5|{{{getM1}}}XXX}}|{{padleft:|6|{{{getM1}}}XXXX}}}}<!--
      -->{{Checkdate/str index|{{padleft:|6|{{{getM1}}}XXXX}}|{{padleft:|7|{{{getM1}}}XXXXX}}}}<!--
    -->|{{#iferror:{{#time:n|1 {{{getM1}}}}}||{{#time:n|1 {{{getM1}}}}}}}<!--
  -->}}|1=1|2=2|3=3|4=4|5=5|6=6|7=7|8=8|9=9|10=A|11=B|12=C|0}}}}<!-- 月を認識できない場合でも 0は返す -->
  |{{#if:{{{fulldate|}}}
  |{{Checkdate/isfulldateja|{{{fulldate}}}|defaultdate={{{defaultdate|}}}}}
  |{{#if:{{{defaultdate|}}}|{{Checkdate/error|defaultdate={{{defaultdate}}}}}|}}
  }}
}}
}}}}<noinclude>
{{documentation}}
</noinclude>

2021年6月20日 (日) 12:59時点における最新版

テンプレートの解説[作成]