Difference between revisions of "Template:Date"

From Timelines
Jump to: navigation, search
(update to improve handling of pure-number inputs, per talk)
(Moved sandbox live to fix wrong output when substituted)
 
(10 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{#switch:none
+
{{{{{|safesubst:}}}#switch:none
  |{{#iferror: {{#time:Y_M_d|{{{1|}}} }} | none }} <!-- #time: can't handle -->
+
  |{{{{{|safesubst:}}}#iferror: {{{{{|safesubst:}}}#time:Y_M_d|{{{1|}}} }} | none }} <noinclude><!-- #time: can't handle --></noinclude>
  |{{#iferror: {{#expr: {{{1|}}}+0 }}
+
  |{{{{{|safesubst:}}}#iferror: {{{{{|safesubst:}}}#expr: {{{1|}}}+0 }}
     |<!--not a pure number-->
+
     |<noinclude><!--not a pure number--></noinclude>
     |{{#ifexpr: {{{1|}}}+0 > 10000000000000
+
     |{{{{{|safesubst:}}}#ifexpr: {{{1|}}}+0 > 10000000000000
       |<!-- a yyyymmddhhmmss timestamp -->
+
       |<noinclude><!-- a yyyymmddhhmmss timestamp --></noinclude>
       |{{#ifeq: {{#expr:{{{1|}}}+0}} | {{{1|}}}
+
       |{{{{{|safesubst:}}}#ifeq: {{{{{|safesubst:}}}#expr:{{{1|}}}+0}} | {{{1|}}}
           | none <!-- pure number eg 123.456 -->
+
           | none <noinclude><!-- pure number eg 123.456 --></noinclude>
           | <!-- assume yy-mm-dd -->
+
           | <noinclude><!-- assume yy-mm-dd --></noinclude>
 
         }}
 
         }}
 
     }}
 
     }}
 
   }}
 
   }}
  |{{#switch:  {{lc:{{{2|}}}}} | none | asis=none }}
+
  |{{{{{|safesubst:}}}#switch:  {{{{{|safesubst:}}}lc:{{{2|}}}}} | none | asis | link | lnone =none }}
  |{{#ifexpr:  {{#time:Y|{{{1|}}} }} < 1000 | none }}
+
  |{{{{{|safesubst:}}}#ifexpr:  {{{{{|safesubst:}}}#time:Y|{{{1|}}} }} < 1000 | none }}
  |{{#switch:  {{#time:Ynj|{{{1|}}} }}|100031|110031|130031|140031|150031=none}}
+
  |{{{{{|safesubst:}}}#switch:  {{{{{|safesubst:}}}#time:Ynj|{{{1|}}} }}|100031|110031|130031|140031|150031=none}}
  |= {{{1|}}}<!-- error or "none", so no formatting -->
+
  |= {{{{{|safesubst:}}}#if:{{{1|}}}
  |<!-- continue with formatting -->
+
      |{{{{{|safesubst:}}}#switch:{{{2}}}
   {{#ifeq:<!--
+
        |link|lnone|l=[[{{{1}}}]]
     -->{{#time:Y|{{{1}}} 2008}}<!--
+
        |{{{1}}}
     -->{{#iferror: {{#ifexpr: {{{1}}}>10000000000000 | no }} | }}<!--
+
      }}
     -->{{#time:Y|{{{1}}} 2004}}
+
    }}<noinclude><!-- error or "none", so no formatting --></noinclude>
 +
  |<noinclude><!-- continue with formatting --></noinclude>
 +
   {{{{{|safesubst:}}}#ifeq:<noinclude><!--
 +
     --></noinclude>{{{{{|safesubst:}}}#time:Y|{{{1}}} 2008}}<noinclude><!--
 +
     --></noinclude>{{{{{|safesubst:}}}#iferror: {{{{{|safesubst:}}}#ifexpr: {{{1}}}>10000000000000 | no }} | }}<noinclude><!--
 +
     --></noinclude>{{{{{|safesubst:}}}#time:Y|{{{1}}} 2004}}
 
   |20082004
 
   |20082004
   |<!-- no year -->
+
   |<noinclude><!-- no year --></noinclude>
     {{#ifeq:{{#time:d|{{{1}}} 2036}}|{{#time:d|{{{1}}} }}
+
     {{{{{|safesubst:}}}#ifeq:{{{{{|safesubst:}}}#time:d|{{{1}}} 2036}}|{{{{{|safesubst:}}}#time:d|{{{1}}} }}
     |<!-- month+day -->{{#time:
+
     |<noinclude><!-- month+day --></noinclude>{{{{{|safesubst:}}}#time:
       {{#switch: {{lc: {{#ifeq:{{{3|}}}|y|L}}{{{2|}}} }}
+
       {{{{{|safesubst:}}}#switch: {{{{{|safesubst:}}}lc: {{{{{|safesubst:}}}#ifeq:{{{3|}}}|y|L}}{{{2|}}} }}
 
       | lmdy | liso | lymd      = [[:F j]]
 
       | lmdy | liso | lymd      = [[:F j]]
 
       | mdy  | iso  | ymd      = F j
 
       | mdy  | iso  | ymd      = F j
 
       | ldmy | l                = [[:j F]]
 
       | ldmy | l                = [[:j F]]
 
       | #default                = j F
 
       | #default                = j F
       }}|{{{1}}} 2000 }}<!-- default='dmy' or null or "" or unsupported option -->
+
       }}|{{{1}}} 2000 }}<noinclude><!-- default='dmy' or null or "" or unsupported option --></noinclude>
     |<!-- month only -->{{#time:
+
     |<noinclude><!-- month only --></noinclude>{{{{{|safesubst:}}}#time:
       {{#switch: {{lc: {{#ifeq:{{{3|}}}|y|L}}{{{2|}}} }}
+
       {{{{{|safesubst:}}}#switch: {{{{{|safesubst:}}}lc: {{{{{|safesubst:}}}#ifeq:{{{3|}}}|y|L}}{{{2|}}} }}
 
       | lmdy | liso | lymd  
 
       | lmdy | liso | lymd  
 
       | ldmy | l                = [[F]]
 
       | ldmy | l                = [[F]]
 
       | #default                = F
 
       | #default                = F
       }}|{{{1}}} 2000 }}<!-- default='dmy'/'mdy'/'ymd'/'iso'/null/""/unsupported opt -->
+
       }}|{{{1}}} 2000 }}<noinclude><!-- default='dmy'/'mdy'/'ymd'/'iso'/null/""/unsupported opt --></noinclude>
 
     }}
 
     }}
   |<!-- with year-->
+
   |<noinclude><!-- with year--></noinclude>
     {{#if: {{#iferror:{{#time:j|2 {{{1|}}}}}|*D*|{{#iferror:{{#time:j|2000 {{{1|}}}}}|*D*| }}}}
+
     {{{{{|safesubst:}}}#if: {{{{{|safesubst:}}}#iferror:{{{{{|safesubst:}}}#time:j|2 {{{1|}}}}}|*D*|{{{{{|safesubst:}}}#iferror:{{{{{|safesubst:}}}#time:j|2000 {{{1|}}}}}|*D*| }}}}
     |<!-- day+month+year -->{{#time:
+
     |<noinclude><!-- day+month+year --></noinclude>{{{{{|safesubst:}}}#time:
       {{#switch: {{lc: {{#ifeq:{{{3|}}}|y|L}}{{{2|}}} }}
+
       {{{{{|safesubst:}}}#switch: {{{{{|safesubst:}}}lc: {{{{{|safesubst:}}}#ifeq:{{{3|}}}|y|L}}{{{2|}}} }}
 
       | lmdy                    = [[:F j]], [[Y]]
 
       | lmdy                    = [[:F j]], [[Y]]
 
       | mdy                    = F j, Y
 
       | mdy                    = F j, Y
       | liso                    = [[Y|Y-]][[F j|m-d]]<!-- i.e. [[Y-m-d]] -->
+
       | liso                    = [[Y|Y-]][[F j|m-d]]<noinclude><!-- i.e. [[Y-m-d]] --></noinclude>
 
       | iso                    = Y-m-d
 
       | iso                    = Y-m-d
 
       | lymd                    = [[Y]] [[:F j]]
 
       | lymd                    = [[Y]] [[:F j]]
Line 49: Line 54:
 
       | ldmy | l                = [[:j F]] [[Y]]
 
       | ldmy | l                = [[:j F]] [[Y]]
 
       | #default                = j F Y
 
       | #default                = j F Y
       }}|{{{1|}}} }}<!-- #default='dmy' or null or "" or unsupported option -->
+
       }}|{{{1|}}} }}<noinclude><!-- #default='dmy' or null or "" or unsupported option --></noinclude>
     |<!-- month+year -->{{#time:
+
     |<noinclude><!-- month+year --></noinclude>{{{{{|safesubst:}}}#time:
       {{#switch: {{lc: {{#ifeq:{{{3|}}}|y|L}}{{{2|}}} }}
+
       {{{{{|safesubst:}}}#switch: {{{{{|safesubst:}}}lc: {{{{{|safesubst:}}}#ifeq:{{{3|}}}|y|L}}{{{2|}}} }}
 
       | lmdy | liso | lymd | ldmy | l  = [[:F Y]]
 
       | lmdy | liso | lymd | ldmy | l  = [[:F Y]]
 
       | #default                = F Y
 
       | #default                = F Y
       }}|{{{1|}}} }}<!-- default='dmy'/'iso'/'mdy'/null/""/unsupported option -->
+
       }}|{{{1|}}} }}<noinclude><!-- default='dmy'/'iso'/'mdy'/null/""/unsupported option --></noinclude>
 
     }}
 
     }}
 
   }}     
 
   }}     
 
}}<noinclude>
 
}}<noinclude>
{{pp-template|small=yes}}
 
 
{{documentation}}
 
{{documentation}}
 
</noinclude>
 
</noinclude>

Latest revision as of 08:05, 12 September 2015

18 December 2024

Template documentation[create]