Jump to content

Template:Start date and age/doc

From The Furrydelphia Wiki

{{#ifeq:doc |doc

    | 

{{#ifeq:show |show

|

        }}{{#if:|
         |{{#ifexist:Template:Start date and age
                  | [[Category:{{#switch:Template |Template=Template |Module=Module |User=User |#default=Wikipedia}} documentation pages]]
                  | 
                 }}
        }}
    | 
   }}
This message box is using an invalid "type={{#ifeq: n|n|content|notice}}" parameter and needs fixing.

{{Start date and age}} displays the date that an event or entity started or was created. It also includes a duplicate, machine-readable date in the ISO 8601 format (which is hidden by CSS), for use inside other templates which emit microformats. The hidden date degrades gracefully when CSS is not available.

Parameters

[edit source]
Parameter Status Description
1=}} required A four-digit number indicating the year.
2=}} optional A number between 1 and 12 indicating the month (leading zeros in the number are ignored).
3=}} optional A number between 1 and 31 indicating the day of the month (leading zeros in the number are ignored).
df=}} optional df=}}yes or |{{SAFESUBST:#if:df|df=}}y displays the day before the month (e.g. "7 November 2004" instead of the default "November 7, 2004").
p=}}
|{{SAFESUBST:#if:paren|paren=}}
optional p=}}yes or |{{SAFESUBST:#if:p|p=}}y the age will be displayed within parentheses. When this parameter is not included, the date and age are separated by a semicolon and a breaking space.
br=}} optional br=}}yes or |{{SAFESUBST:#if:br|br=}}y a line break will be inserted between the date and the age. When this parameter is not included, a breaking space will be inserted between the date and the age. This does not change the separating characters between the date and age which are either a semicolon (default setting) or parentheses (if |{{SAFESUBST:#if:p|p=}}yes).

Examples

[edit source]

Default separator: semicolon

[edit source]
Syntax Result
Full date (year, month, day)
{{Start date and age|2010|01|02}} {{#if: 01|{{#if: 02|{{#ifeq:{{safesubst:#switch: no no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|{{#expr:02}} {{#if:01|{{#switch:{{safesubst:#if:01

{{safesubst:#switch:01 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:01<0 {{safesubst:#ifexpr:((01)round 0)!=(01) {{safesubst:#expr:12-(((0.5-(01))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(01))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+01)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}}|{{#if:01|{{#switch:{{safesubst:#if:01

{{safesubst:#switch:01 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:01<0 {{safesubst:#ifexpr:((01)round 0)!=(01) {{safesubst:#expr:12-(((0.5-(01))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(01))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+01)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} {{#expr:02}},}} 2010|{{#if:01|{{#switch:{{safesubst:#if:01

{{safesubst:#switch:01 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:01<0 {{safesubst:#ifexpr:((01)round 0)!=(01) {{safesubst:#expr:12-(((0.5-(01))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(01))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+01)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} 2010}}|2010}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes||;}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|
| }}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|(}}{{#if: 01|{{#if: 02|16 years ago|{{#ifexpr:{{#if:{{#time:n|1-{{safesubst:#if:1|01}}-1}}|1|0}}=0 or abs( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|01}}-1}}+2010*12)) >= 12

1-{{safesubst:#if:1|01}}-1}}+2010*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|01}}-1}}+2010*12) < 0 1-{{safesubst:#if:1|01}}-1}}+2010*12) ) / 12 ) = -1|year's|years'}} 1-{{safesubst:#if:1|01}}-1}}+2010*12) ) / 12 ) = 1|year|years}}

}}

1-{{safesubst:#if:1|01}}-1}}+2010*12) )}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|01}}-1}}+2010*12) < 0 1-{{safesubst:#if:1|01}}-1}}+2010*12) = -1|month's|months'}} 1-{{safesubst:#if:1|01}}-1}}+2010*12) = 1|month|months}}

}}

}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|01}}-1}}+2010*12) < 0|time|ago}}}}|{{#iferror:{{#expr:2010}}|16 years ago|{{#ifexpr:{{#if:|1|0}}=0 or abs( (05+2026*12) - (05+2010*12)) >= 12

{{#expr:floor(abs( ( (05+2026*12) - (05+2010*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - (05+2010*12) < 0 year's|years'}} year|years}}

}}

{{#expr:abs( (05+2026*12) - (05+2010*12) )}} {{#ifexpr:(05+2026*12) - (05+2010*12) < 0 month's|months'}} month|months}}

}}

}} {{#ifexpr:(05+2026*12) - (05+2010*12) < 0|time|ago}}}}}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|)}}|{{#if: 01|Template:Error|{{#if: 02|Template:Error }} }}}} ({{#if: 2010|2010{{#if: 01| -{{#time:m|1-{{safesubst:#if:1|01}}-1}}{{#if: 02| -02}}}}}})

{{Start date and age|2010|1|2|df=yes}} {{#if: 1|{{#if: 2|{{#ifeq:{{safesubst:#switch: yes no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|{{#expr:2}} {{#if:1|{{#switch:{{safesubst:#if:1

{{safesubst:#switch:1 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:1<0 {{safesubst:#ifexpr:((1)round 0)!=(1) {{safesubst:#expr:12-(((0.5-(1))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(1))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+1)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}}|{{#if:1|{{#switch:{{safesubst:#if:1

{{safesubst:#switch:1 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:1<0 {{safesubst:#ifexpr:((1)round 0)!=(1) {{safesubst:#expr:12-(((0.5-(1))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(1))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+1)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} {{#expr:2}},}} 2010|{{#if:1|{{#switch:{{safesubst:#if:1

{{safesubst:#switch:1 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:1<0 {{safesubst:#ifexpr:((1)round 0)!=(1) {{safesubst:#expr:12-(((0.5-(1))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(1))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+1)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} 2010}}|2010}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes||;}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|
| }}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|(}}{{#if: 1|{{#if: 2|16 years ago|{{#ifexpr:{{#if:{{#time:n|1-{{safesubst:#if:1|1}}-1}}|1|0}}=0 or abs( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|1}}-1}}+2010*12)) >= 12

1-{{safesubst:#if:1|1}}-1}}+2010*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|1}}-1}}+2010*12) < 0 1-{{safesubst:#if:1|1}}-1}}+2010*12) ) / 12 ) = -1|year's|years'}} 1-{{safesubst:#if:1|1}}-1}}+2010*12) ) / 12 ) = 1|year|years}}

}}

1-{{safesubst:#if:1|1}}-1}}+2010*12) )}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|1}}-1}}+2010*12) < 0 1-{{safesubst:#if:1|1}}-1}}+2010*12) = -1|month's|months'}} 1-{{safesubst:#if:1|1}}-1}}+2010*12) = 1|month|months}}

}}

}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|1}}-1}}+2010*12) < 0|time|ago}}}}|{{#iferror:{{#expr:2010}}|16 years ago|{{#ifexpr:{{#if:|1|0}}=0 or abs( (05+2026*12) - (05+2010*12)) >= 12

{{#expr:floor(abs( ( (05+2026*12) - (05+2010*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - (05+2010*12) < 0 year's|years'}} year|years}}

}}

{{#expr:abs( (05+2026*12) - (05+2010*12) )}} {{#ifexpr:(05+2026*12) - (05+2010*12) < 0 month's|months'}} month|months}}

}}

}} {{#ifexpr:(05+2026*12) - (05+2010*12) < 0|time|ago}}}}}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|)}}|{{#if: 1|Template:Error|{{#if: 2|Template:Error }} }}}} ({{#if: 2010|2010{{#if: 1| -{{#time:m|1-{{safesubst:#if:1|1}}-1}}{{#if: 2| -02}}}}}})

{{Start date and age|2008|01|9|df=y}} {{#if: 01|{{#if: 9|{{#ifeq:{{safesubst:#switch: y no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|{{#expr:9}} {{#if:01|{{#switch:{{safesubst:#if:01

{{safesubst:#switch:01 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:01<0 {{safesubst:#ifexpr:((01)round 0)!=(01) {{safesubst:#expr:12-(((0.5-(01))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(01))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+01)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}}|{{#if:01|{{#switch:{{safesubst:#if:01

{{safesubst:#switch:01 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:01<0 {{safesubst:#ifexpr:((01)round 0)!=(01) {{safesubst:#expr:12-(((0.5-(01))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(01))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+01)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} {{#expr:9}},}} 2008|{{#if:01|{{#switch:{{safesubst:#if:01

{{safesubst:#switch:01 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:01<0 {{safesubst:#ifexpr:((01)round 0)!=(01) {{safesubst:#expr:12-(((0.5-(01))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(01))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+01)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} 2008}}|2008}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes||;}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|
| }}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|(}}{{#if: 01|{{#if: 9|18 years ago|{{#ifexpr:{{#if:{{#time:n|1-{{safesubst:#if:1|01}}-1}}|1|0}}=0 or abs( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|01}}-1}}+2008*12)) >= 12

1-{{safesubst:#if:1|01}}-1}}+2008*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|01}}-1}}+2008*12) < 0 1-{{safesubst:#if:1|01}}-1}}+2008*12) ) / 12 ) = -1|year's|years'}} 1-{{safesubst:#if:1|01}}-1}}+2008*12) ) / 12 ) = 1|year|years}}

}}

1-{{safesubst:#if:1|01}}-1}}+2008*12) )}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|01}}-1}}+2008*12) < 0 1-{{safesubst:#if:1|01}}-1}}+2008*12) = -1|month's|months'}} 1-{{safesubst:#if:1|01}}-1}}+2008*12) = 1|month|months}}

}}

}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|01}}-1}}+2008*12) < 0|time|ago}}}}|{{#iferror:{{#expr:2008}}|18 years ago|{{#ifexpr:{{#if:|1|0}}=0 or abs( (05+2026*12) - (05+2008*12)) >= 12

{{#expr:floor(abs( ( (05+2026*12) - (05+2008*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - (05+2008*12) < 0 year's|years'}} year|years}}

}}

{{#expr:abs( (05+2026*12) - (05+2008*12) )}} {{#ifexpr:(05+2026*12) - (05+2008*12) < 0 month's|months'}} month|months}}

}}

}} {{#ifexpr:(05+2026*12) - (05+2008*12) < 0|time|ago}}}}}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|)}}|{{#if: 01|Template:Error|{{#if: 9|Template:Error }} }}}} ({{#if: 2008|2008{{#if: 01| -{{#time:m|1-{{safesubst:#if:1|01}}-1}}{{#if: 9| -09}}}}}})

100 days ago:
{{Start date and age|{{#time:Y|now-100 days}}|{{#time:n|now-100 days}}|{{#time:j|now-100 days}}}}
now-100 days}}|{{#if: {{#time:n|now-100 days}}|{{#if: {{#time:j|now-100 days}}|{{#ifeq:{{safesubst:#switch: no no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|{{#expr:{{#time:j|now-100 days}}}} {{#if:{{#time:n|now-100 days}}|{{#switch:{{safesubst:#if:{{#time:n|now-100 days}}

now-100 days}} jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 now-100 days}}<0 now-100 days}})round 0)!=({{#time:n|now-100 days}}) now-100 days}}))round 0)mod 12)}} now-100 days}}))round 0)mod 12)}}
  }}
now-100 days}})round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}}|{{#if:{{#time:n|now-100 days}}|{{#switch:{{safesubst:#if:{{#time:n|now-100 days}}

now-100 days}} jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 now-100 days}}<0 now-100 days}})round 0)!=({{#time:n|now-100 days}}) now-100 days}}))round 0)mod 12)}} now-100 days}}))round 0)mod 12)}}
  }}
now-100 days}})round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} {{#expr:{{#time:j|now-100 days}}}},}} {{#time:Y|now-100 days}}|{{#if:{{#time:n|now-100 days}}|{{#switch:{{safesubst:#if:{{#time:n|now-100 days}}

now-100 days}} jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 now-100 days}}<0 now-100 days}})round 0)!=({{#time:n|now-100 days}}) now-100 days}}))round 0)mod 12)}} now-100 days}}))round 0)mod 12)}}
  }}
now-100 days}})round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} {{#time:Y|now-100 days}}}}|{{#time:Y|now-100 days}}}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes||;}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|
| }}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|(}}{{#if: {{#time:n|now-100 days}}|{{#if: {{#time:j|now-100 days}}|Error: first parameter cannot be parsed as a date or time.|{{#ifexpr:{{#if:{{#time:n|1-{{safesubst:#if:1|{{#time:n|now-100 days}}}}-1}}|1|0}}=0 or abs( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{#time:n|now-100 days}}}}-1}}+{{#time:Y|now-100 days}}*12)) >= 12

1-{{safesubst:#if:1|{{#time:n|now-100 days}}}}-1}}+{{#time:Y|now-100 days}}*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{#time:n|now-100 days}}}}-1}}+{{#time:Y|now-100 days}}*12) < 0 1-{{safesubst:#if:1|{{#time:n|now-100 days}}}}-1}}+{{#time:Y|now-100 days}}*12) ) / 12 ) = -1|year's|years'}} 1-{{safesubst:#if:1|{{#time:n|now-100 days}}}}-1}}+{{#time:Y|now-100 days}}*12) ) / 12 ) = 1|year|years}}

}}

1-{{safesubst:#if:1|{{#time:n|now-100 days}}}}-1}}+{{#time:Y|now-100 days}}*12) )}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{#time:n|now-100 days}}}}-1}}+{{#time:Y|now-100 days}}*12) < 0 1-{{safesubst:#if:1|{{#time:n|now-100 days}}}}-1}}+{{#time:Y|now-100 days}}*12) = -1|month's|months'}} 1-{{safesubst:#if:1|{{#time:n|now-100 days}}}}-1}}+{{#time:Y|now-100 days}}*12) = 1|month|months}}

}}

}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{#time:n|now-100 days}}}}-1}}+{{#time:Y|now-100 days}}*12) < 0|time|ago}}}}|{{#iferror:{{#expr:{{#time:Y|now-100 days}}}}|Error: first parameter cannot be parsed as a date or time.|{{#ifexpr:{{#if:|1|0}}=0 or abs( (05+2026*12) - (05+{{#time:Y|now-100 days}}*12)) >= 12

now-100 days}}*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - (05+{{#time:Y|now-100 days}}*12) < 0 now-100 days}}*12) ) / 12 ) = -1|year's|years'}} now-100 days}}*12) ) / 12 ) = 1|year|years}}

}}

now-100 days}}*12) )}} {{#ifexpr:(05+2026*12) - (05+{{#time:Y|now-100 days}}*12) < 0 now-100 days}}*12) = -1|month's|months'}} now-100 days}}*12) = 1|month|months}}

}}

}} {{#ifexpr:(05+2026*12) - (05+{{#time:Y|now-100 days}}*12) < 0|time|ago}}}}}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|)}}|{{#if: {{#time:n|now-100 days}}|Template:Error|{{#if: {{#time:j|now-100 days}}|Template:Error }} }}}} ({{#if: {{#time:Y|now-100 days}}|{{#time:Y|now-100 days}}{{#if: {{#time:n|now-100 days}}| -{{#time:m|1-{{safesubst:#if:1|{{#time:n|now-100 days}}}}-1}}{{#if: {{#time:j|now-100 days}}| -{{#time:j|now-100 days}}}}}}}})

Yesterday:
{{Start date and age|{{#time:Y|now-1 days}}|{{#time:n|now-1 days}}|{{#time:j|now-1 days}}}}
now-1 days}}|{{#if: {{#time:n|now-1 days}}|{{#if: {{#time:j|now-1 days}}|{{#ifeq:{{safesubst:#switch: no no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|{{#expr:{{#time:j|now-1 days}}}} {{#if:{{#time:n|now-1 days}}|{{#switch:{{safesubst:#if:{{#time:n|now-1 days}}

now-1 days}} jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 now-1 days}}<0 now-1 days}})round 0)!=({{#time:n|now-1 days}}) now-1 days}}))round 0)mod 12)}} now-1 days}}))round 0)mod 12)}}
  }}
now-1 days}})round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}}|{{#if:{{#time:n|now-1 days}}|{{#switch:{{safesubst:#if:{{#time:n|now-1 days}}

now-1 days}} jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 now-1 days}}<0 now-1 days}})round 0)!=({{#time:n|now-1 days}}) now-1 days}}))round 0)mod 12)}} now-1 days}}))round 0)mod 12)}}
  }}
now-1 days}})round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} {{#expr:{{#time:j|now-1 days}}}},}} {{#time:Y|now-1 days}}|{{#if:{{#time:n|now-1 days}}|{{#switch:{{safesubst:#if:{{#time:n|now-1 days}}

now-1 days}} jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 now-1 days}}<0 now-1 days}})round 0)!=({{#time:n|now-1 days}}) now-1 days}}))round 0)mod 12)}} now-1 days}}))round 0)mod 12)}}
  }}
now-1 days}})round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} {{#time:Y|now-1 days}}}}|{{#time:Y|now-1 days}}}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes||;}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|
| }}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|(}}{{#if: {{#time:n|now-1 days}}|{{#if: {{#time:j|now-1 days}}|Error: first parameter cannot be parsed as a date or time.|{{#ifexpr:{{#if:{{#time:n|1-{{safesubst:#if:1|{{#time:n|now-1 days}}}}-1}}|1|0}}=0 or abs( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{#time:n|now-1 days}}}}-1}}+{{#time:Y|now-1 days}}*12)) >= 12

1-{{safesubst:#if:1|{{#time:n|now-1 days}}}}-1}}+{{#time:Y|now-1 days}}*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{#time:n|now-1 days}}}}-1}}+{{#time:Y|now-1 days}}*12) < 0 1-{{safesubst:#if:1|{{#time:n|now-1 days}}}}-1}}+{{#time:Y|now-1 days}}*12) ) / 12 ) = -1|year's|years'}} 1-{{safesubst:#if:1|{{#time:n|now-1 days}}}}-1}}+{{#time:Y|now-1 days}}*12) ) / 12 ) = 1|year|years}}

}}

1-{{safesubst:#if:1|{{#time:n|now-1 days}}}}-1}}+{{#time:Y|now-1 days}}*12) )}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{#time:n|now-1 days}}}}-1}}+{{#time:Y|now-1 days}}*12) < 0 1-{{safesubst:#if:1|{{#time:n|now-1 days}}}}-1}}+{{#time:Y|now-1 days}}*12) = -1|month's|months'}} 1-{{safesubst:#if:1|{{#time:n|now-1 days}}}}-1}}+{{#time:Y|now-1 days}}*12) = 1|month|months}}

}}

}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{#time:n|now-1 days}}}}-1}}+{{#time:Y|now-1 days}}*12) < 0|time|ago}}}}|{{#iferror:{{#expr:{{#time:Y|now-1 days}}}}|Error: first parameter cannot be parsed as a date or time.|{{#ifexpr:{{#if:|1|0}}=0 or abs( (05+2026*12) - (05+{{#time:Y|now-1 days}}*12)) >= 12

now-1 days}}*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - (05+{{#time:Y|now-1 days}}*12) < 0 now-1 days}}*12) ) / 12 ) = -1|year's|years'}} now-1 days}}*12) ) / 12 ) = 1|year|years}}

}}

now-1 days}}*12) )}} {{#ifexpr:(05+2026*12) - (05+{{#time:Y|now-1 days}}*12) < 0 now-1 days}}*12) = -1|month's|months'}} now-1 days}}*12) = 1|month|months}}

}}

}} {{#ifexpr:(05+2026*12) - (05+{{#time:Y|now-1 days}}*12) < 0|time|ago}}}}}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|)}}|{{#if: {{#time:n|now-1 days}}|Template:Error|{{#if: {{#time:j|now-1 days}}|Template:Error }} }}}} ({{#if: {{#time:Y|now-1 days}}|{{#time:Y|now-1 days}}{{#if: {{#time:n|now-1 days}}| -{{#time:m|1-{{safesubst:#if:1|{{#time:n|now-1 days}}}}-1}}{{#if: {{#time:j|now-1 days}}| -{{#time:j|now-1 days}}}}}}}})

Today:
{{Start date and age|{{#time:Y|now}}|{{#time:n|now}}|{{#time:j|now}}}}
now}}|{{#if: {{#time:n|now}}|{{#if: {{#time:j|now}}|{{#ifeq:{{safesubst:#switch: no no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|{{#expr:{{#time:j|now}}}} {{#if:{{#time:n|now}}|{{#switch:{{safesubst:#if:{{#time:n|now}}

now}} jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 now}}<0 now}})round 0)!=({{#time:n|now}}) now}}))round 0)mod 12)}} now}}))round 0)mod 12)}}
  }}
now}})round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}}|{{#if:{{#time:n|now}}|{{#switch:{{safesubst:#if:{{#time:n|now}}

now}} jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 now}}<0 now}})round 0)!=({{#time:n|now}}) now}}))round 0)mod 12)}} now}}))round 0)mod 12)}}
  }}
now}})round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} {{#expr:{{#time:j|now}}}},}} {{#time:Y|now}}|{{#if:{{#time:n|now}}|{{#switch:{{safesubst:#if:{{#time:n|now}}

now}} jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 now}}<0 now}})round 0)!=({{#time:n|now}}) now}}))round 0)mod 12)}} now}}))round 0)mod 12)}}
  }}
now}})round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} {{#time:Y|now}}}}|{{#time:Y|now}}}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes||;}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|
| }}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|(}}{{#if: {{#time:n|now}}|{{#if: {{#time:j|now}}|Error: first parameter cannot be parsed as a date or time.|{{#ifexpr:{{#if:{{#time:n|1-{{safesubst:#if:1|{{#time:n|now}}}}-1}}|1|0}}=0 or abs( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{#time:n|now}}}}-1}}+{{#time:Y|now}}*12)) >= 12

1-{{safesubst:#if:1|{{#time:n|now}}}}-1}}+{{#time:Y|now}}*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{#time:n|now}}}}-1}}+{{#time:Y|now}}*12) < 0 1-{{safesubst:#if:1|{{#time:n|now}}}}-1}}+{{#time:Y|now}}*12) ) / 12 ) = -1|year's|years'}} 1-{{safesubst:#if:1|{{#time:n|now}}}}-1}}+{{#time:Y|now}}*12) ) / 12 ) = 1|year|years}}

}}

1-{{safesubst:#if:1|{{#time:n|now}}}}-1}}+{{#time:Y|now}}*12) )}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{#time:n|now}}}}-1}}+{{#time:Y|now}}*12) < 0 1-{{safesubst:#if:1|{{#time:n|now}}}}-1}}+{{#time:Y|now}}*12) = -1|month's|months'}} 1-{{safesubst:#if:1|{{#time:n|now}}}}-1}}+{{#time:Y|now}}*12) = 1|month|months}}

}}

}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{#time:n|now}}}}-1}}+{{#time:Y|now}}*12) < 0|time|ago}}}}|{{#iferror:{{#expr:{{#time:Y|now}}}}|Error: first parameter cannot be parsed as a date or time.|{{#ifexpr:{{#if:|1|0}}=0 or abs( (05+2026*12) - (05+{{#time:Y|now}}*12)) >= 12

now}}*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - (05+{{#time:Y|now}}*12) < 0 now}}*12) ) / 12 ) = -1|year's|years'}} now}}*12) ) / 12 ) = 1|year|years}}

}}

now}}*12) )}} {{#ifexpr:(05+2026*12) - (05+{{#time:Y|now}}*12) < 0 now}}*12) = -1|month's|months'}} now}}*12) = 1|month|months}}

}}

}} {{#ifexpr:(05+2026*12) - (05+{{#time:Y|now}}*12) < 0|time|ago}}}}}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|)}}|{{#if: {{#time:n|now}}|Template:Error|{{#if: {{#time:j|now}}|Template:Error }} }}}} ({{#if: {{#time:Y|now}}|{{#time:Y|now}}{{#if: {{#time:n|now}}| -{{#time:m|1-{{safesubst:#if:1|{{#time:n|now}}}}-1}}{{#if: {{#time:j|now}}| -{{#time:j|now}}}}}}}})

Year and month
{{Start date and age|2001|9}} {{#if: 9|{{#if: |{{#ifeq:{{safesubst:#switch: no no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|{{#expr:{{{3}}}}} {{#if:9|{{#switch:{{safesubst:#if:9

{{safesubst:#switch:9 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:9<0 {{safesubst:#ifexpr:((9)round 0)!=(9) {{safesubst:#expr:12-(((0.5-(9))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(9))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+9)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}}|{{#if:9|{{#switch:{{safesubst:#if:9

{{safesubst:#switch:9 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:9<0 {{safesubst:#ifexpr:((9)round 0)!=(9) {{safesubst:#expr:12-(((0.5-(9))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(9))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+9)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} {{#expr:{{{3}}}}},}} 2001|{{#if:9|{{#switch:{{safesubst:#if:9

{{safesubst:#switch:9 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:9<0 {{safesubst:#ifexpr:((9)round 0)!=(9) {{safesubst:#expr:12-(((0.5-(9))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(9))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+9)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} 2001}}|2001}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes||;}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|
| }}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|(}}{{#if: 9|{{#if: |Error: first parameter cannot be parsed as a date or time.|{{#ifexpr:{{#if:{{#time:n|1-{{safesubst:#if:1|9}}-1}}|1|0}}=0 or abs( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|9}}-1}}+2001*12)) >= 12

1-{{safesubst:#if:1|9}}-1}}+2001*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|9}}-1}}+2001*12) < 0 1-{{safesubst:#if:1|9}}-1}}+2001*12) ) / 12 ) = -1|year's|years'}} 1-{{safesubst:#if:1|9}}-1}}+2001*12) ) / 12 ) = 1|year|years}}

}}

1-{{safesubst:#if:1|9}}-1}}+2001*12) )}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|9}}-1}}+2001*12) < 0 1-{{safesubst:#if:1|9}}-1}}+2001*12) = -1|month's|months'}} 1-{{safesubst:#if:1|9}}-1}}+2001*12) = 1|month|months}}

}}

}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|9}}-1}}+2001*12) < 0|time|ago}}}}|{{#iferror:{{#expr:2001}}|25 years ago|{{#ifexpr:{{#if:|1|0}}=0 or abs( (05+2026*12) - (05+2001*12)) >= 12

{{#expr:floor(abs( ( (05+2026*12) - (05+2001*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - (05+2001*12) < 0 year's|years'}} year|years}}

}}

{{#expr:abs( (05+2026*12) - (05+2001*12) )}} {{#ifexpr:(05+2026*12) - (05+2001*12) < 0 month's|months'}} month|months}}

}}

}} {{#ifexpr:(05+2026*12) - (05+2001*12) < 0|time|ago}}}}}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|)}}|{{#if: 9|Template:Error|{{#if: |Template:Error }} }}}} ({{#if: 2001|2001{{#if: 9| -{{#time:m|1-{{safesubst:#if:1|9}}-1}}{{#if: | -{{{3}}}}}}}}})

{{Start date and age|2002|09}} {{#if: 09|{{#if: |{{#ifeq:{{safesubst:#switch: no no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|{{#expr:{{{3}}}}} {{#if:09|{{#switch:{{safesubst:#if:09

{{safesubst:#switch:09 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:09<0 {{safesubst:#ifexpr:((09)round 0)!=(09) {{safesubst:#expr:12-(((0.5-(09))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(09))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+09)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}}|{{#if:09|{{#switch:{{safesubst:#if:09

{{safesubst:#switch:09 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:09<0 {{safesubst:#ifexpr:((09)round 0)!=(09) {{safesubst:#expr:12-(((0.5-(09))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(09))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+09)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} {{#expr:{{{3}}}}},}} 2002|{{#if:09|{{#switch:{{safesubst:#if:09

{{safesubst:#switch:09 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:09<0 {{safesubst:#ifexpr:((09)round 0)!=(09) {{safesubst:#expr:12-(((0.5-(09))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(09))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+09)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} 2002}}|2002}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes||;}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|
| }}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|(}}{{#if: 09|{{#if: |Error: first parameter cannot be parsed as a date or time.|{{#ifexpr:{{#if:{{#time:n|1-{{safesubst:#if:1|09}}-1}}|1|0}}=0 or abs( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|09}}-1}}+2002*12)) >= 12

1-{{safesubst:#if:1|09}}-1}}+2002*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|09}}-1}}+2002*12) < 0 1-{{safesubst:#if:1|09}}-1}}+2002*12) ) / 12 ) = -1|year's|years'}} 1-{{safesubst:#if:1|09}}-1}}+2002*12) ) / 12 ) = 1|year|years}}

}}

1-{{safesubst:#if:1|09}}-1}}+2002*12) )}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|09}}-1}}+2002*12) < 0 1-{{safesubst:#if:1|09}}-1}}+2002*12) = -1|month's|months'}} 1-{{safesubst:#if:1|09}}-1}}+2002*12) = 1|month|months}}

}}

}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|09}}-1}}+2002*12) < 0|time|ago}}}}|{{#iferror:{{#expr:2002}}|24 years ago|{{#ifexpr:{{#if:|1|0}}=0 or abs( (05+2026*12) - (05+2002*12)) >= 12

{{#expr:floor(abs( ( (05+2026*12) - (05+2002*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - (05+2002*12) < 0 year's|years'}} year|years}}

}}

{{#expr:abs( (05+2026*12) - (05+2002*12) )}} {{#ifexpr:(05+2026*12) - (05+2002*12) < 0 month's|months'}} month|months}}

}}

}} {{#ifexpr:(05+2026*12) - (05+2002*12) < 0|time|ago}}}}}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|)}}|{{#if: 09|Template:Error|{{#if: |Template:Error }} }}}} ({{#if: 2002|2002{{#if: 09| -{{#time:m|1-{{safesubst:#if:1|09}}-1}}{{#if: | -{{{3}}}}}}}}})

Year only
{{Start date and age|2005}} {{#if: |{{#if: |{{#ifeq:{{safesubst:#switch: no no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|{{#expr:{{{3}}}}} {{#if:{{{2}}}|{{#switch:{{safesubst:#if:{{{2}}}

{{safesubst:#switch:{{{2}}} jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:{{{2}}}<0 {{safesubst:#ifexpr:(({{{2}}})round 0)!=({{{2}}}) {{safesubst:#expr:12-(((0.5-({{{2}}}))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-({{{2}}}))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+{{{2}}})round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}}|{{#if:{{{2}}}|{{#switch:{{safesubst:#if:{{{2}}}

{{safesubst:#switch:{{{2}}} jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:{{{2}}}<0 {{safesubst:#ifexpr:(({{{2}}})round 0)!=({{{2}}}) {{safesubst:#expr:12-(((0.5-({{{2}}}))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-({{{2}}}))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+{{{2}}})round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} {{#expr:{{{3}}}}},}} 2005|{{#if:{{{2}}}|{{#switch:{{safesubst:#if:{{{2}}}

{{safesubst:#switch:{{{2}}} jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:{{{2}}}<0 {{safesubst:#ifexpr:(({{{2}}})round 0)!=({{{2}}}) {{safesubst:#expr:12-(((0.5-({{{2}}}))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-({{{2}}}))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+{{{2}}})round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} 2005}}|2005}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes||;}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|
| }}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|(}}{{#if: |{{#if: |Error: first parameter cannot be parsed as a date or time.|{{#ifexpr:{{#if:{{#time:n|1-{{safesubst:#if:1|{{{2}}}}}-1}}|1|0}}=0 or abs( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{{2}}}}}-1}}+2005*12)) >= 12

1-{{safesubst:#if:1|{{{2}}}}}-1}}+2005*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{{2}}}}}-1}}+2005*12) < 0 1-{{safesubst:#if:1|{{{2}}}}}-1}}+2005*12) ) / 12 ) = -1|year's|years'}} 1-{{safesubst:#if:1|{{{2}}}}}-1}}+2005*12) ) / 12 ) = 1|year|years}}

}}

1-{{safesubst:#if:1|{{{2}}}}}-1}}+2005*12) )}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{{2}}}}}-1}}+2005*12) < 0 1-{{safesubst:#if:1|{{{2}}}}}-1}}+2005*12) = -1|month's|months'}} 1-{{safesubst:#if:1|{{{2}}}}}-1}}+2005*12) = 1|month|months}}

}}

}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{{2}}}}}-1}}+2005*12) < 0|time|ago}}}}|{{#iferror:{{#expr:2005}}|21 years ago|{{#ifexpr:{{#if:|1|0}}=0 or abs( (05+2026*12) - (05+2005*12)) >= 12

{{#expr:floor(abs( ( (05+2026*12) - (05+2005*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - (05+2005*12) < 0 year's|years'}} year|years}}

}}

{{#expr:abs( (05+2026*12) - (05+2005*12) )}} {{#ifexpr:(05+2026*12) - (05+2005*12) < 0 month's|months'}} month|months}}

}}

}} {{#ifexpr:(05+2026*12) - (05+2005*12) < 0|time|ago}}}}}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|)}}|{{#if: |Template:Error|{{#if: |Template:Error }} }}}} ({{#if: 2005|2005{{#if: | -{{#time:m|1-{{safesubst:#if:1|{{{2}}}}}-1}}{{#if: | -{{{3}}}}}}}}})

Optional separator: parentheses

[edit source]
Syntax Result
Full date (year, month, day)
{{Start date and age|2003|02|15|p=yes}} {{#if: 02|{{#if: 15|{{#ifeq:{{safesubst:#switch: no no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|{{#expr:15}} {{#if:02|{{#switch:{{safesubst:#if:02

{{safesubst:#switch:02 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:02<0 {{safesubst:#ifexpr:((02)round 0)!=(02) {{safesubst:#expr:12-(((0.5-(02))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(02))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+02)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}}|{{#if:02|{{#switch:{{safesubst:#if:02

{{safesubst:#switch:02 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:02<0 {{safesubst:#ifexpr:((02)round 0)!=(02) {{safesubst:#expr:12-(((0.5-(02))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(02))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+02)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} {{#expr:15}},}} 2003|{{#if:02|{{#switch:{{safesubst:#if:02

{{safesubst:#switch:02 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:02<0 {{safesubst:#ifexpr:((02)round 0)!=(02) {{safesubst:#expr:12-(((0.5-(02))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(02))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+02)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} 2003}}|2003}}{{#ifeq:{{safesubst:#switch: yes

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes||;}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|
| }}{{#ifeq:{{safesubst:#switch: yes

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|(}}{{#if: 02|{{#if: 15|23 years ago|{{#ifexpr:{{#if:{{#time:n|1-{{safesubst:#if:1|02}}-1}}|1|0}}=0 or abs( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12)) >= 12

1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12) < 0 1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ) = -1|year's|years'}} 1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ) = 1|year|years}}

}}

1-{{safesubst:#if:1|02}}-1}}+2003*12) )}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12) < 0 1-{{safesubst:#if:1|02}}-1}}+2003*12) = -1|month's|months'}} 1-{{safesubst:#if:1|02}}-1}}+2003*12) = 1|month|months}}

}}

}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12) < 0|time|ago}}}}|{{#iferror:{{#expr:2003}}|23 years ago|{{#ifexpr:{{#if:|1|0}}=0 or abs( (05+2026*12) - (05+2003*12)) >= 12

{{#expr:floor(abs( ( (05+2026*12) - (05+2003*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0 year's|years'}} year|years}}

}}

{{#expr:abs( (05+2026*12) - (05+2003*12) )}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0 month's|months'}} month|months}}

}}

}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0|time|ago}}}}}}{{#ifeq:{{safesubst:#switch: yes

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|)}}|{{#if: 02|Template:Error|{{#if: 15|Template:Error }} }}}} ({{#if: 2003|2003{{#if: 02| -{{#time:m|1-{{safesubst:#if:1|02}}-1}}{{#if: 15| -15}}}}}})

{{Start date and age|2003|02|15|df=y|p=y}} {{#if: 02|{{#if: 15|{{#ifeq:{{safesubst:#switch: y no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|{{#expr:15}} {{#if:02|{{#switch:{{safesubst:#if:02

{{safesubst:#switch:02 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:02<0 {{safesubst:#ifexpr:((02)round 0)!=(02) {{safesubst:#expr:12-(((0.5-(02))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(02))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+02)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}}|{{#if:02|{{#switch:{{safesubst:#if:02

{{safesubst:#switch:02 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:02<0 {{safesubst:#ifexpr:((02)round 0)!=(02) {{safesubst:#expr:12-(((0.5-(02))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(02))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+02)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} {{#expr:15}},}} 2003|{{#if:02|{{#switch:{{safesubst:#if:02

{{safesubst:#switch:02 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:02<0 {{safesubst:#ifexpr:((02)round 0)!=(02) {{safesubst:#expr:12-(((0.5-(02))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(02))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+02)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} 2003}}|2003}}{{#ifeq:{{safesubst:#switch: yes

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes||;}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|
| }}{{#ifeq:{{safesubst:#switch: yes

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|(}}{{#if: 02|{{#if: 15|23 years ago|{{#ifexpr:{{#if:{{#time:n|1-{{safesubst:#if:1|02}}-1}}|1|0}}=0 or abs( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12)) >= 12

1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12) < 0 1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ) = -1|year's|years'}} 1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ) = 1|year|years}}

}}

1-{{safesubst:#if:1|02}}-1}}+2003*12) )}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12) < 0 1-{{safesubst:#if:1|02}}-1}}+2003*12) = -1|month's|months'}} 1-{{safesubst:#if:1|02}}-1}}+2003*12) = 1|month|months}}

}}

}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12) < 0|time|ago}}}}|{{#iferror:{{#expr:2003}}|23 years ago|{{#ifexpr:{{#if:|1|0}}=0 or abs( (05+2026*12) - (05+2003*12)) >= 12

{{#expr:floor(abs( ( (05+2026*12) - (05+2003*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0 year's|years'}} year|years}}

}}

{{#expr:abs( (05+2026*12) - (05+2003*12) )}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0 month's|months'}} month|months}}

}}

}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0|time|ago}}}}}}{{#ifeq:{{safesubst:#switch: yes

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|)}}|{{#if: 02|Template:Error|{{#if: 15|Template:Error }} }}}} ({{#if: 2003|2003{{#if: 02| -{{#time:m|1-{{safesubst:#if:1|02}}-1}}{{#if: 15| -15}}}}}})

Year and month
{{Start date and age|2003|02|p=y}} {{#if: 02|{{#if: |{{#ifeq:{{safesubst:#switch: no no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|{{#expr:{{{3}}}}} {{#if:02|{{#switch:{{safesubst:#if:02

{{safesubst:#switch:02 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:02<0 {{safesubst:#ifexpr:((02)round 0)!=(02) {{safesubst:#expr:12-(((0.5-(02))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(02))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+02)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}}|{{#if:02|{{#switch:{{safesubst:#if:02

{{safesubst:#switch:02 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:02<0 {{safesubst:#ifexpr:((02)round 0)!=(02) {{safesubst:#expr:12-(((0.5-(02))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(02))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+02)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} {{#expr:{{{3}}}}},}} 2003|{{#if:02|{{#switch:{{safesubst:#if:02

{{safesubst:#switch:02 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:02<0 {{safesubst:#ifexpr:((02)round 0)!=(02) {{safesubst:#expr:12-(((0.5-(02))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(02))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+02)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} 2003}}|2003}}{{#ifeq:{{safesubst:#switch: y

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes||;}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|
| }}{{#ifeq:{{safesubst:#switch: y

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|(}}{{#if: 02|{{#if: |Error: first parameter cannot be parsed as a date or time.|{{#ifexpr:{{#if:{{#time:n|1-{{safesubst:#if:1|02}}-1}}|1|0}}=0 or abs( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12)) >= 12

1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12) < 0 1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ) = -1|year's|years'}} 1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ) = 1|year|years}}

}}

1-{{safesubst:#if:1|02}}-1}}+2003*12) )}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12) < 0 1-{{safesubst:#if:1|02}}-1}}+2003*12) = -1|month's|months'}} 1-{{safesubst:#if:1|02}}-1}}+2003*12) = 1|month|months}}

}}

}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12) < 0|time|ago}}}}|{{#iferror:{{#expr:2003}}|23 years ago|{{#ifexpr:{{#if:|1|0}}=0 or abs( (05+2026*12) - (05+2003*12)) >= 12

{{#expr:floor(abs( ( (05+2026*12) - (05+2003*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0 year's|years'}} year|years}}

}}

{{#expr:abs( (05+2026*12) - (05+2003*12) )}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0 month's|months'}} month|months}}

}}

}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0|time|ago}}}}}}{{#ifeq:{{safesubst:#switch: y

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|)}}|{{#if: 02|Template:Error|{{#if: |Template:Error }} }}}} ({{#if: 2003|2003{{#if: 02| -{{#time:m|1-{{safesubst:#if:1|02}}-1}}{{#if: | -{{{3}}}}}}}}})

Year only
{{Start date and age|2003|paren=yes}} {{#if: |{{#if: |{{#ifeq:{{safesubst:#switch: no no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|{{#expr:{{{3}}}}} {{#if:{{{2}}}|{{#switch:{{safesubst:#if:{{{2}}}

{{safesubst:#switch:{{{2}}} jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:{{{2}}}<0 {{safesubst:#ifexpr:(({{{2}}})round 0)!=({{{2}}}) {{safesubst:#expr:12-(((0.5-({{{2}}}))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-({{{2}}}))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+{{{2}}})round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}}|{{#if:{{{2}}}|{{#switch:{{safesubst:#if:{{{2}}}

{{safesubst:#switch:{{{2}}} jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:{{{2}}}<0 {{safesubst:#ifexpr:(({{{2}}})round 0)!=({{{2}}}) {{safesubst:#expr:12-(((0.5-({{{2}}}))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-({{{2}}}))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+{{{2}}})round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} {{#expr:{{{3}}}}},}} 2003|{{#if:{{{2}}}|{{#switch:{{safesubst:#if:{{{2}}}

{{safesubst:#switch:{{{2}}} jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:{{{2}}}<0 {{safesubst:#ifexpr:(({{{2}}})round 0)!=({{{2}}}) {{safesubst:#expr:12-(((0.5-({{{2}}}))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-({{{2}}}))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+{{{2}}})round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} 2003}}|2003}}{{#ifeq:{{safesubst:#switch: yes

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes||;}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|
| }}{{#ifeq:{{safesubst:#switch: yes

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|(}}{{#if: |{{#if: |Error: first parameter cannot be parsed as a date or time.|{{#ifexpr:{{#if:{{#time:n|1-{{safesubst:#if:1|{{{2}}}}}-1}}|1|0}}=0 or abs( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12)) >= 12

1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) < 0 1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) ) / 12 ) = -1|year's|years'}} 1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) ) / 12 ) = 1|year|years}}

}}

1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) )}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) < 0 1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) = -1|month's|months'}} 1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) = 1|month|months}}

}}

}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) < 0|time|ago}}}}|{{#iferror:{{#expr:2003}}|23 years ago|{{#ifexpr:{{#if:|1|0}}=0 or abs( (05+2026*12) - (05+2003*12)) >= 12

{{#expr:floor(abs( ( (05+2026*12) - (05+2003*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0 year's|years'}} year|years}}

}}

{{#expr:abs( (05+2026*12) - (05+2003*12) )}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0 month's|months'}} month|months}}

}}

}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0|time|ago}}}}}}{{#ifeq:{{safesubst:#switch: yes

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|)}}|{{#if: |Template:Error|{{#if: |Template:Error }} }}}} ({{#if: 2003|2003{{#if: | -{{#time:m|1-{{safesubst:#if:1|{{{2}}}}}-1}}{{#if: | -{{{3}}}}}}}}})

Line break with semicolon

[edit source]
Syntax Result
Full date (year, month, day)
{{Start date and age|2003|02|15|br=yes}} {{#if: 02|{{#if: 15|{{#ifeq:{{safesubst:#switch: no no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|{{#expr:15}} {{#if:02|{{#switch:{{safesubst:#if:02

{{safesubst:#switch:02 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:02<0 {{safesubst:#ifexpr:((02)round 0)!=(02) {{safesubst:#expr:12-(((0.5-(02))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(02))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+02)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}}|{{#if:02|{{#switch:{{safesubst:#if:02

{{safesubst:#switch:02 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:02<0 {{safesubst:#ifexpr:((02)round 0)!=(02) {{safesubst:#expr:12-(((0.5-(02))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(02))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+02)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} {{#expr:15}},}} 2003|{{#if:02|{{#switch:{{safesubst:#if:02

{{safesubst:#switch:02 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:02<0 {{safesubst:#ifexpr:((02)round 0)!=(02) {{safesubst:#expr:12-(((0.5-(02))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(02))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+02)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} 2003}}|2003}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes||;}}{{#ifeq:{{safesubst:#switch: yes

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|
| }}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|(}}{{#if: 02|{{#if: 15|23 years ago|{{#ifexpr:{{#if:{{#time:n|1-{{safesubst:#if:1|02}}-1}}|1|0}}=0 or abs( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12)) >= 12

1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12) < 0 1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ) = -1|year's|years'}} 1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ) = 1|year|years}}

}}

1-{{safesubst:#if:1|02}}-1}}+2003*12) )}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12) < 0 1-{{safesubst:#if:1|02}}-1}}+2003*12) = -1|month's|months'}} 1-{{safesubst:#if:1|02}}-1}}+2003*12) = 1|month|months}}

}}

}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12) < 0|time|ago}}}}|{{#iferror:{{#expr:2003}}|23 years ago|{{#ifexpr:{{#if:|1|0}}=0 or abs( (05+2026*12) - (05+2003*12)) >= 12

{{#expr:floor(abs( ( (05+2026*12) - (05+2003*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0 year's|years'}} year|years}}

}}

{{#expr:abs( (05+2026*12) - (05+2003*12) )}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0 month's|months'}} month|months}}

}}

}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0|time|ago}}}}}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|)}}|{{#if: 02|Template:Error|{{#if: 15|Template:Error }} }}}} ({{#if: 2003|2003{{#if: 02| -{{#time:m|1-{{safesubst:#if:1|02}}-1}}{{#if: 15| -15}}}}}})

{{Start date and age|2003|02|15|df=y|br=y}} {{#if: 02|{{#if: 15|{{#ifeq:{{safesubst:#switch: y no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|{{#expr:15}} {{#if:02|{{#switch:{{safesubst:#if:02

{{safesubst:#switch:02 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:02<0 {{safesubst:#ifexpr:((02)round 0)!=(02) {{safesubst:#expr:12-(((0.5-(02))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(02))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+02)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}}|{{#if:02|{{#switch:{{safesubst:#if:02

{{safesubst:#switch:02 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:02<0 {{safesubst:#ifexpr:((02)round 0)!=(02) {{safesubst:#expr:12-(((0.5-(02))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(02))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+02)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} {{#expr:15}},}} 2003|{{#if:02|{{#switch:{{safesubst:#if:02

{{safesubst:#switch:02 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:02<0 {{safesubst:#ifexpr:((02)round 0)!=(02) {{safesubst:#expr:12-(((0.5-(02))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(02))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+02)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} 2003}}|2003}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes||;}}{{#ifeq:{{safesubst:#switch: y

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|
| }}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|(}}{{#if: 02|{{#if: 15|23 years ago|{{#ifexpr:{{#if:{{#time:n|1-{{safesubst:#if:1|02}}-1}}|1|0}}=0 or abs( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12)) >= 12

1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12) < 0 1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ) = -1|year's|years'}} 1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ) = 1|year|years}}

}}

1-{{safesubst:#if:1|02}}-1}}+2003*12) )}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12) < 0 1-{{safesubst:#if:1|02}}-1}}+2003*12) = -1|month's|months'}} 1-{{safesubst:#if:1|02}}-1}}+2003*12) = 1|month|months}}

}}

}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12) < 0|time|ago}}}}|{{#iferror:{{#expr:2003}}|23 years ago|{{#ifexpr:{{#if:|1|0}}=0 or abs( (05+2026*12) - (05+2003*12)) >= 12

{{#expr:floor(abs( ( (05+2026*12) - (05+2003*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0 year's|years'}} year|years}}

}}

{{#expr:abs( (05+2026*12) - (05+2003*12) )}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0 month's|months'}} month|months}}

}}

}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0|time|ago}}}}}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|)}}|{{#if: 02|Template:Error|{{#if: 15|Template:Error }} }}}} ({{#if: 2003|2003{{#if: 02| -{{#time:m|1-{{safesubst:#if:1|02}}-1}}{{#if: 15| -15}}}}}})

Year and month
{{Start date and age|2003|02|br=y}} {{#if: 02|{{#if: |{{#ifeq:{{safesubst:#switch: no no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|{{#expr:{{{3}}}}} {{#if:02|{{#switch:{{safesubst:#if:02

{{safesubst:#switch:02 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:02<0 {{safesubst:#ifexpr:((02)round 0)!=(02) {{safesubst:#expr:12-(((0.5-(02))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(02))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+02)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}}|{{#if:02|{{#switch:{{safesubst:#if:02

{{safesubst:#switch:02 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:02<0 {{safesubst:#ifexpr:((02)round 0)!=(02) {{safesubst:#expr:12-(((0.5-(02))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(02))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+02)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} {{#expr:{{{3}}}}},}} 2003|{{#if:02|{{#switch:{{safesubst:#if:02

{{safesubst:#switch:02 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:02<0 {{safesubst:#ifexpr:((02)round 0)!=(02) {{safesubst:#expr:12-(((0.5-(02))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(02))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+02)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} 2003}}|2003}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes||;}}{{#ifeq:{{safesubst:#switch: y

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|
| }}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|(}}{{#if: 02|{{#if: |Error: first parameter cannot be parsed as a date or time.|{{#ifexpr:{{#if:{{#time:n|1-{{safesubst:#if:1|02}}-1}}|1|0}}=0 or abs( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12)) >= 12

1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12) < 0 1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ) = -1|year's|years'}} 1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ) = 1|year|years}}

}}

1-{{safesubst:#if:1|02}}-1}}+2003*12) )}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12) < 0 1-{{safesubst:#if:1|02}}-1}}+2003*12) = -1|month's|months'}} 1-{{safesubst:#if:1|02}}-1}}+2003*12) = 1|month|months}}

}}

}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12) < 0|time|ago}}}}|{{#iferror:{{#expr:2003}}|23 years ago|{{#ifexpr:{{#if:|1|0}}=0 or abs( (05+2026*12) - (05+2003*12)) >= 12

{{#expr:floor(abs( ( (05+2026*12) - (05+2003*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0 year's|years'}} year|years}}

}}

{{#expr:abs( (05+2026*12) - (05+2003*12) )}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0 month's|months'}} month|months}}

}}

}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0|time|ago}}}}}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|)}}|{{#if: 02|Template:Error|{{#if: |Template:Error }} }}}} ({{#if: 2003|2003{{#if: 02| -{{#time:m|1-{{safesubst:#if:1|02}}-1}}{{#if: | -{{{3}}}}}}}}})

Year only
{{Start date and age|2003|br=yes}} {{#if: |{{#if: |{{#ifeq:{{safesubst:#switch: no no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|{{#expr:{{{3}}}}} {{#if:{{{2}}}|{{#switch:{{safesubst:#if:{{{2}}}

{{safesubst:#switch:{{{2}}} jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:{{{2}}}<0 {{safesubst:#ifexpr:(({{{2}}})round 0)!=({{{2}}}) {{safesubst:#expr:12-(((0.5-({{{2}}}))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-({{{2}}}))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+{{{2}}})round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}}|{{#if:{{{2}}}|{{#switch:{{safesubst:#if:{{{2}}}

{{safesubst:#switch:{{{2}}} jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:{{{2}}}<0 {{safesubst:#ifexpr:(({{{2}}})round 0)!=({{{2}}}) {{safesubst:#expr:12-(((0.5-({{{2}}}))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-({{{2}}}))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+{{{2}}})round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} {{#expr:{{{3}}}}},}} 2003|{{#if:{{{2}}}|{{#switch:{{safesubst:#if:{{{2}}}

{{safesubst:#switch:{{{2}}} jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:{{{2}}}<0 {{safesubst:#ifexpr:(({{{2}}})round 0)!=({{{2}}}) {{safesubst:#expr:12-(((0.5-({{{2}}}))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-({{{2}}}))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+{{{2}}})round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} 2003}}|2003}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes||;}}{{#ifeq:{{safesubst:#switch: yes

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|
| }}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|(}}{{#if: |{{#if: |Error: first parameter cannot be parsed as a date or time.|{{#ifexpr:{{#if:{{#time:n|1-{{safesubst:#if:1|{{{2}}}}}-1}}|1|0}}=0 or abs( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12)) >= 12

1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) < 0 1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) ) / 12 ) = -1|year's|years'}} 1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) ) / 12 ) = 1|year|years}}

}}

1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) )}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) < 0 1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) = -1|month's|months'}} 1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) = 1|month|months}}

}}

}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) < 0|time|ago}}}}|{{#iferror:{{#expr:2003}}|23 years ago|{{#ifexpr:{{#if:|1|0}}=0 or abs( (05+2026*12) - (05+2003*12)) >= 12

{{#expr:floor(abs( ( (05+2026*12) - (05+2003*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0 year's|years'}} year|years}}

}}

{{#expr:abs( (05+2026*12) - (05+2003*12) )}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0 month's|months'}} month|months}}

}}

}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0|time|ago}}}}}}{{#ifeq:{{safesubst:#switch: no

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|)}}|{{#if: |Template:Error|{{#if: |Template:Error }} }}}} ({{#if: 2003|2003{{#if: | -{{#time:m|1-{{safesubst:#if:1|{{{2}}}}}-1}}{{#if: | -{{{3}}}}}}}}})

Line break with parentheses

[edit source]
Syntax Result
Full date (year, month, day)
{{Start date and age|2003|02|15|p=yes|br=yes}} {{#if: 02|{{#if: 15|{{#ifeq:{{safesubst:#switch: no no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|{{#expr:15}} {{#if:02|{{#switch:{{safesubst:#if:02

{{safesubst:#switch:02 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:02<0 {{safesubst:#ifexpr:((02)round 0)!=(02) {{safesubst:#expr:12-(((0.5-(02))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(02))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+02)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}}|{{#if:02|{{#switch:{{safesubst:#if:02

{{safesubst:#switch:02 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:02<0 {{safesubst:#ifexpr:((02)round 0)!=(02) {{safesubst:#expr:12-(((0.5-(02))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(02))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+02)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} {{#expr:15}},}} 2003|{{#if:02|{{#switch:{{safesubst:#if:02

{{safesubst:#switch:02 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:02<0 {{safesubst:#ifexpr:((02)round 0)!=(02) {{safesubst:#expr:12-(((0.5-(02))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(02))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+02)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} 2003}}|2003}}{{#ifeq:{{safesubst:#switch: yes

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes||;}}{{#ifeq:{{safesubst:#switch: yes

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|
| }}{{#ifeq:{{safesubst:#switch: yes

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|(}}{{#if: 02|{{#if: 15|23 years ago|{{#ifexpr:{{#if:{{#time:n|1-{{safesubst:#if:1|02}}-1}}|1|0}}=0 or abs( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12)) >= 12

1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12) < 0 1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ) = -1|year's|years'}} 1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ) = 1|year|years}}

}}

1-{{safesubst:#if:1|02}}-1}}+2003*12) )}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12) < 0 1-{{safesubst:#if:1|02}}-1}}+2003*12) = -1|month's|months'}} 1-{{safesubst:#if:1|02}}-1}}+2003*12) = 1|month|months}}

}}

}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12) < 0|time|ago}}}}|{{#iferror:{{#expr:2003}}|23 years ago|{{#ifexpr:{{#if:|1|0}}=0 or abs( (05+2026*12) - (05+2003*12)) >= 12

{{#expr:floor(abs( ( (05+2026*12) - (05+2003*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0 year's|years'}} year|years}}

}}

{{#expr:abs( (05+2026*12) - (05+2003*12) )}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0 month's|months'}} month|months}}

}}

}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0|time|ago}}}}}}{{#ifeq:{{safesubst:#switch: yes

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|)}}|{{#if: 02|Template:Error|{{#if: 15|Template:Error }} }}}} ({{#if: 2003|2003{{#if: 02| -{{#time:m|1-{{safesubst:#if:1|02}}-1}}{{#if: 15| -15}}}}}})

{{Start date and age|2003|02|15|df=y|p=y|br=y}} {{#if: 02|{{#if: 15|{{#ifeq:{{safesubst:#switch: y no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|{{#expr:15}} {{#if:02|{{#switch:{{safesubst:#if:02

{{safesubst:#switch:02 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:02<0 {{safesubst:#ifexpr:((02)round 0)!=(02) {{safesubst:#expr:12-(((0.5-(02))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(02))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+02)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}}|{{#if:02|{{#switch:{{safesubst:#if:02

{{safesubst:#switch:02 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:02<0 {{safesubst:#ifexpr:((02)round 0)!=(02) {{safesubst:#expr:12-(((0.5-(02))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(02))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+02)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} {{#expr:15}},}} 2003|{{#if:02|{{#switch:{{safesubst:#if:02

{{safesubst:#switch:02 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:02<0 {{safesubst:#ifexpr:((02)round 0)!=(02) {{safesubst:#expr:12-(((0.5-(02))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(02))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+02)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} 2003}}|2003}}{{#ifeq:{{safesubst:#switch: y

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes||;}}{{#ifeq:{{safesubst:#switch: y

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|
| }}{{#ifeq:{{safesubst:#switch: y

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|(}}{{#if: 02|{{#if: 15|23 years ago|{{#ifexpr:{{#if:{{#time:n|1-{{safesubst:#if:1|02}}-1}}|1|0}}=0 or abs( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12)) >= 12

1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12) < 0 1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ) = -1|year's|years'}} 1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ) = 1|year|years}}

}}

1-{{safesubst:#if:1|02}}-1}}+2003*12) )}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12) < 0 1-{{safesubst:#if:1|02}}-1}}+2003*12) = -1|month's|months'}} 1-{{safesubst:#if:1|02}}-1}}+2003*12) = 1|month|months}}

}}

}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12) < 0|time|ago}}}}|{{#iferror:{{#expr:2003}}|23 years ago|{{#ifexpr:{{#if:|1|0}}=0 or abs( (05+2026*12) - (05+2003*12)) >= 12

{{#expr:floor(abs( ( (05+2026*12) - (05+2003*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0 year's|years'}} year|years}}

}}

{{#expr:abs( (05+2026*12) - (05+2003*12) )}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0 month's|months'}} month|months}}

}}

}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0|time|ago}}}}}}{{#ifeq:{{safesubst:#switch: y

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|)}}|{{#if: 02|Template:Error|{{#if: 15|Template:Error }} }}}} ({{#if: 2003|2003{{#if: 02| -{{#time:m|1-{{safesubst:#if:1|02}}-1}}{{#if: 15| -15}}}}}})

Year and month
{{Start date and age|2003|02|p=y|br=y}} {{#if: 02|{{#if: |{{#ifeq:{{safesubst:#switch: no no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|{{#expr:{{{3}}}}} {{#if:02|{{#switch:{{safesubst:#if:02

{{safesubst:#switch:02 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:02<0 {{safesubst:#ifexpr:((02)round 0)!=(02) {{safesubst:#expr:12-(((0.5-(02))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(02))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+02)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}}|{{#if:02|{{#switch:{{safesubst:#if:02

{{safesubst:#switch:02 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:02<0 {{safesubst:#ifexpr:((02)round 0)!=(02) {{safesubst:#expr:12-(((0.5-(02))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(02))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+02)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} {{#expr:{{{3}}}}},}} 2003|{{#if:02|{{#switch:{{safesubst:#if:02

{{safesubst:#switch:02 jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:02<0 {{safesubst:#ifexpr:((02)round 0)!=(02) {{safesubst:#expr:12-(((0.5-(02))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-(02))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+02)round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} 2003}}|2003}}{{#ifeq:{{safesubst:#switch: y

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes||;}}{{#ifeq:{{safesubst:#switch: y

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|
| }}{{#ifeq:{{safesubst:#switch: y

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|(}}{{#if: 02|{{#if: |Error: first parameter cannot be parsed as a date or time.|{{#ifexpr:{{#if:{{#time:n|1-{{safesubst:#if:1|02}}-1}}|1|0}}=0 or abs( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12)) >= 12

1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12) < 0 1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ) = -1|year's|years'}} 1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ) = 1|year|years}}

}}

1-{{safesubst:#if:1|02}}-1}}+2003*12) )}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12) < 0 1-{{safesubst:#if:1|02}}-1}}+2003*12) = -1|month's|months'}} 1-{{safesubst:#if:1|02}}-1}}+2003*12) = 1|month|months}}

}}

}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12) < 0|time|ago}}}}|{{#iferror:{{#expr:2003}}|23 years ago|{{#ifexpr:{{#if:|1|0}}=0 or abs( (05+2026*12) - (05+2003*12)) >= 12

{{#expr:floor(abs( ( (05+2026*12) - (05+2003*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0 year's|years'}} year|years}}

}}

{{#expr:abs( (05+2026*12) - (05+2003*12) )}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0 month's|months'}} month|months}}

}}

}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0|time|ago}}}}}}{{#ifeq:{{safesubst:#switch: y

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|)}}|{{#if: 02|Template:Error|{{#if: |Template:Error }} }}}} ({{#if: 2003|2003{{#if: 02| -{{#time:m|1-{{safesubst:#if:1|02}}-1}}{{#if: | -{{{3}}}}}}}}})

Year only
{{Start date and age|2003|paren=yes|br=yes}} {{#if: |{{#if: |{{#ifeq:{{safesubst:#switch: no no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|{{#expr:{{{3}}}}} {{#if:{{{2}}}|{{#switch:{{safesubst:#if:{{{2}}}

{{safesubst:#switch:{{{2}}} jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:{{{2}}}<0 {{safesubst:#ifexpr:(({{{2}}})round 0)!=({{{2}}}) {{safesubst:#expr:12-(((0.5-({{{2}}}))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-({{{2}}}))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+{{{2}}})round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}}|{{#if:{{{2}}}|{{#switch:{{safesubst:#if:{{{2}}}

{{safesubst:#switch:{{{2}}} jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:{{{2}}}<0 {{safesubst:#ifexpr:(({{{2}}})round 0)!=({{{2}}}) {{safesubst:#expr:12-(((0.5-({{{2}}}))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-({{{2}}}))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+{{{2}}})round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} {{#expr:{{{3}}}}},}} 2003|{{#if:{{{2}}}|{{#switch:{{safesubst:#if:{{{2}}}

{{safesubst:#switch:{{{2}}} jan=1 feb=2 mar=3 april=4 may=5 jun=6 jul=7 aug=8 sep|sept=9 oct=10 nov=11 dec=12 {{safesubst:#ifexpr:{{{2}}}<0 {{safesubst:#ifexpr:(({{{2}}})round 0)!=({{{2}}}) {{safesubst:#expr:12-(((0.5-({{{2}}}))round 0)mod 12)}} {{safesubst:#expr:12-(((11.5-({{{2}}}))round 0)mod 12)}}
  }}
{{safesubst:#expr:(((10.5+{{{2}}})round 0)mod 12)+1}}
 }}
}}
Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} 2003}}|2003}}{{#ifeq:{{safesubst:#switch: yes

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes||;}}{{#ifeq:{{safesubst:#switch: yes

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|
| }}{{#ifeq:{{safesubst:#switch: yes

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|(}}{{#if: |{{#if: |Error: first parameter cannot be parsed as a date or time.|{{#ifexpr:{{#if:{{#time:n|1-{{safesubst:#if:1|{{{2}}}}}-1}}|1|0}}=0 or abs( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12)) >= 12

1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) < 0 1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) ) / 12 ) = -1|year's|years'}} 1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) ) / 12 ) = 1|year|years}}

}}

1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) )}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) < 0 1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) = -1|month's|months'}} 1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) = 1|month|months}}

}}

}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) < 0|time|ago}}}}|{{#iferror:{{#expr:2003}}|23 years ago|{{#ifexpr:{{#if:|1|0}}=0 or abs( (05+2026*12) - (05+2003*12)) >= 12

{{#expr:floor(abs( ( (05+2026*12) - (05+2003*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0 year's|years'}} year|years}}

}}

{{#expr:abs( (05+2026*12) - (05+2003*12) )}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0 month's|months'}} month|months}}

}}

}} {{#ifexpr:(05+2026*12) - (05+2003*12) < 0|time|ago}}}}}}{{#ifeq:{{safesubst:#switch: yes

no n f false off 0 = = ¬ = yes y t true on 1 = yes #default = yes

}}|yes|)}}|{{#if: |Template:Error|{{#if: |Template:Error }} }}}} ({{#if: 2003|2003{{#if: | -{{#time:m|1-{{safesubst:#if:1|{{{2}}}}}-1}}{{#if: | -{{{3}}}}}}}}})

TemplateData

[edit source]

{{ safesubst:#if: |{{ safesubst:#ifeq:{{{demo}}} |no

|
|

}} |{{ safesubst:#ifeq:Template|Template

|
|

}}}}

Use in microformats

[edit source]

This template also returns the date, hidden by CSS, in the ISO 8601 format needed by one or more of the following microformats:

usually, but not always, within infobox or similar templates, or tables.

Its use in hCard is for organizations, venues and similar; use {{Birth date}} or {{Birth date and age}} for people.

Similarly, {{End date}} returns the date as hCalendar's (class="dtend").

See the microformats project for further details.

Limitation

[edit source]

This template has no provision to deal with a date in a non-Gregorian calendar. Also, ISO 8601 requires mutual agreement among those exchanging information before using years outside the range 1583–9999 CE. Therefore, use of this template for non-Gregorian dates or dates outside that range constitutes a false claim of conformance to the ISO 8601 standard.

Any editor encountering such usage should change the date to plain text with no template; or if not confident in doing so, raise the matter on this template's talk page.

Example

[edit source]
  • {{Start date and age|2016|12|31}} → {{#if: 2016|{{#if: 12|{{#if: 31|{{#ifeq:{{safesubst:#switch: no
|no
|n
|f
|false
|off
|0        = 
|         = 
|¬        = 
|yes
|y
|t
|true
|on
|1        = yes
|#default = yes

}}|yes|{{#expr:31}} {{#if:12|{{#switch:{{safesubst:#if:12

|{{safesubst:#switch:12
 |january|jan=1
 |february|feb=2
 |march|mar=3
 |apr|april=4
 |may=5
 |june|jun=6
 |july|jul=7
 |august|aug=8
 |september|sep|sept=9
 |october|oct=10
 |november|nov=11
 |december|dec=12
 |{{safesubst:#ifexpr:12<0
  |{{safesubst:#ifexpr:((12)round 0)!=(12)
   |{{safesubst:#expr:12-(((0.5-(12))round 0)mod 12)}}
   |{{safesubst:#expr:12-(((11.5-(12))round 0)mod 12)}}
  }}
 |{{safesubst:#expr:(((10.5+12)round 0)mod 12)+1}}
 }}
}}
|Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}}|{{#if:12|{{#switch:{{safesubst:#if:12

|{{safesubst:#switch:12
 |january|jan=1
 |february|feb=2
 |march|mar=3
 |apr|april=4
 |may=5
 |june|jun=6
 |july|jul=7
 |august|aug=8
 |september|sep|sept=9
 |october|oct=10
 |november|nov=11
 |december|dec=12
 |{{safesubst:#ifexpr:12<0
  |{{safesubst:#ifexpr:((12)round 0)!=(12)
   |{{safesubst:#expr:12-(((0.5-(12))round 0)mod 12)}}
   |{{safesubst:#expr:12-(((11.5-(12))round 0)mod 12)}}
  }}
 |{{safesubst:#expr:(((10.5+12)round 0)mod 12)+1}}
 }}
}}
|Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} {{#expr:31}},}} 2016|{{#if:12|{{#switch:{{safesubst:#if:12

|{{safesubst:#switch:12
 |january|jan=1
 |february|feb=2
 |march|mar=3
 |apr|april=4
 |may=5
 |june|jun=6
 |july|jul=7
 |august|aug=8
 |september|sep|sept=9
 |october|oct=10
 |november|nov=11
 |december|dec=12
 |{{safesubst:#ifexpr:12<0
  |{{safesubst:#ifexpr:((12)round 0)!=(12)
   |{{safesubst:#expr:12-(((0.5-(12))round 0)mod 12)}}
   |{{safesubst:#expr:12-(((11.5-(12))round 0)mod 12)}}
  }}
 |{{safesubst:#expr:(((10.5+12)round 0)mod 12)+1}}
 }}
}}
|Missing required parameter 1=month!

}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=month!}}|Missing required parameter 1=month!}} 2016}}|2016}}{{#ifeq:{{safesubst:#switch: no

|no
|n
|f
|false
|off
|0        = 
|         = 
|¬        = 
|yes
|y
|t
|true
|on
|1        = yes
|#default = yes

}}|yes||;}}{{#ifeq:{{safesubst:#switch: no

|no
|n
|f
|false
|off
|0        = 
|         = 
|¬        = 
|yes
|y
|t
|true
|on
|1        = yes
|#default = yes

}}|yes|
| }}{{#ifeq:{{safesubst:#switch: no

|no
|n
|f
|false
|off
|0        = 
|         = 
|¬        = 
|yes
|y
|t
|true
|on
|1        = yes
|#default = yes

}}|yes|(}}{{#if: 12|{{#if: 31|9 years ago|{{#ifexpr:{{#if:{{#time:n|1-{{safesubst:#if:1|12}}-1}}|1|0}}=0 or abs( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|12}}-1}}+2016*12)) >= 12

|{{#expr:floor(abs( ( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|12}}-1}}+2016*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|12}}-1}}+2016*12) < 0 |{{#ifexpr:ceil( ( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|12}}-1}}+2016*12) ) / 12 ) = -1|year's|years'}} |{{#ifexpr:floor( ( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|12}}-1}}+2016*12) ) / 12 ) = 1|year|years}} }}

|{{#expr:abs( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|12}}-1}}+2016*12) )}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|12}}-1}}+2016*12) < 0 |{{#ifexpr: (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|12}}-1}}+2016*12) = -1|month's|months'}} |{{#ifexpr: (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|12}}-1}}+2016*12) = 1|month|months}} }}

}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|12}}-1}}+2016*12) < 0|time|ago}}}}|{{#iferror:{{#expr:2016}}|10 years ago|{{#ifexpr:{{#if:|1|0}}=0 or abs( (05+2026*12) - (05+2016*12)) >= 12

|{{#expr:floor(abs( ( (05+2026*12) - (05+2016*12) ) / 12 ))}} {{#ifexpr:(05+2026*12) - (05+2016*12) < 0 |{{#ifexpr:ceil( ( (05+2026*12) - (05+2016*12) ) / 12 ) = -1|year's|years'}} |{{#ifexpr:floor( ( (05+2026*12) - (05+2016*12) ) / 12 ) = 1|year|years}} }}

|{{#expr:abs( (05+2026*12) - (05+2016*12) )}} {{#ifexpr:(05+2026*12) - (05+2016*12) < 0 |{{#ifexpr: (05+2026*12) - (05+2016*12) = -1|month's|months'}} |{{#ifexpr: (05+2026*12) - (05+2016*12) = 1|month|months}} }}

}} {{#ifexpr:(05+2026*12) - (05+2016*12) < 0|time|ago}}}}}}{{#ifeq:{{safesubst:#switch: no

|no
|n
|f
|false
|off
|0        = 
|         = 
|¬        = 
|yes
|y
|t
|true
|on
|1        = yes
|#default = yes

}}|yes|)}}|{{#if: 12|Template:Error|{{#if: 31|Template:Error }} }}}} ({{#if: 2016|2016{{#if: 12| -{{#time:m|1-{{safesubst:#if:1|12}}-1}}{{#if: 31| -31}}}}}})

{{#if: 2016|{{#if: 12|{{#if: 31|{{#ifeq:{{safesubst:#switch: no
 |no
 |n
 |f
 |false
 |off
 |0        = 
 |         = 
 |¬        = 
 |yes
 |y
 |t
 |true
 |on
 |1        = yes
 |#default = yes
}}|yes|{{#expr:31}}&nbsp;{{#if:12|{{#switch:{{safesubst:#if:12
 |{{safesubst:#switch:12
  |january|jan=1
  |february|feb=2
  |march|mar=3
  |apr|april=4
  |may=5
  |june|jun=6
  |july|jul=7
  |august|aug=8
  |september|sep|sept=9
  |october|oct=10
  |november|nov=11
  |december|dec=12
  |{{safesubst:#ifexpr:12<0
   |{{safesubst:#ifexpr:((12)round 0)!=(12)
    |{{safesubst:#expr:12-(((0.5-(12))round 0)mod 12)}}
    |{{safesubst:#expr:12-(((11.5-(12))round 0)mod 12)}}
   }}
  |{{safesubst:#expr:(((10.5+12)round 0)mod 12)+1}}
  }}
 }}
 |Missing required parameter 1=''month''!
}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=''month''!}}|Missing required parameter 1=''month''!}}|{{#if:12|{{#switch:{{safesubst:#if:12
 |{{safesubst:#switch:12
  |january|jan=1
  |february|feb=2
  |march|mar=3
  |apr|april=4
  |may=5
  |june|jun=6
  |july|jul=7
  |august|aug=8
  |september|sep|sept=9
  |october|oct=10
  |november|nov=11
  |december|dec=12
  |{{safesubst:#ifexpr:12<0
   |{{safesubst:#ifexpr:((12)round 0)!=(12)
    |{{safesubst:#expr:12-(((0.5-(12))round 0)mod 12)}}
    |{{safesubst:#expr:12-(((11.5-(12))round 0)mod 12)}}
   }}
  |{{safesubst:#expr:(((10.5+12)round 0)mod 12)+1}}
  }}
 }}
 |Missing required parameter 1=''month''!
}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=''month''!}}|Missing required parameter 1=''month''!}}&nbsp;{{#expr:31}},}} 2016|{{#if:12|{{#switch:{{safesubst:#if:12
 |{{safesubst:#switch:12
  |january|jan=1
  |february|feb=2
  |march|mar=3
  |apr|april=4
  |may=5
  |june|jun=6
  |july|jul=7
  |august|aug=8
  |september|sep|sept=9
  |october|oct=10
  |november|nov=11
  |december|dec=12
  |{{safesubst:#ifexpr:12<0
   |{{safesubst:#ifexpr:((12)round 0)!=(12)
    |{{safesubst:#expr:12-(((0.5-(12))round 0)mod 12)}}
    |{{safesubst:#expr:12-(((11.5-(12))round 0)mod 12)}}
   }}
  |{{safesubst:#expr:(((10.5+12)round 0)mod 12)+1}}
  }}
 }}
 |Missing required parameter 1=''month''!
}}|1=January|2=February|3=March|4=April|5=May|6=June|7=July|8=August|9=September|10=October|11=November|12=December|Incorrect required parameter 1=''month''!}}|Missing required parameter 1=''month''!}}&nbsp;2016}}|2016}}<span class="noprint">{{#ifeq:{{safesubst:#switch: no
 |no
 |n
 |f
 |false
 |off
 |0        = 
 |         = 
 |¬        = 
 |yes
 |y
 |t
 |true
 |on
 |1        = yes
 |#default = yes
}}|yes||&#059;}}{{#ifeq:{{safesubst:#switch: no
 |no
 |n
 |f
 |false
 |off
 |0        = 
 |         = 
 |¬        = 
 |yes
 |y
 |t
 |true
 |on
 |1        = yes
 |#default = yes
}}|yes|<br/>|&#032;}}{{#ifeq:{{safesubst:#switch: no
 |no
 |n
 |f
 |false
 |off
 |0        = 
 |         = 
 |¬        = 
 |yes
 |y
 |t
 |true
 |on
 |1        = yes
 |#default = yes
}}|yes|(}}{{#if: 12|{{#if: 31|9 years ago|{{#ifexpr:{{#if:{{#time:n|1-{{safesubst:#if:1|12}}-1}}|1|0}}=0 or abs( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|12}}-1}}+2016*12)) >= 12

|{{#expr:floor(abs( ( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|12}}-1}}+2016*12) ) / 12 ))}}&nbsp;{{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|12}}-1}}+2016*12) < 0
|{{#ifexpr:ceil( ( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|12}}-1}}+2016*12) ) / 12 ) = -1|year's|years'}}
|{{#ifexpr:floor( ( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|12}}-1}}+2016*12) ) / 12 ) = 1|year|years}}
}}

|{{#expr:abs( (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|12}}-1}}+2016*12) )}}&nbsp;{{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|12}}-1}}+2016*12) < 0
|{{#ifexpr: (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|12}}-1}}+2016*12) = -1|month's|months'}}
|{{#ifexpr: (05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|12}}-1}}+2016*12) = 1|month|months}}
}}

}} {{#ifexpr:(05+2026*12) - ({{#time:n|1-{{safesubst:#if:1|12}}-1}}+2016*12) < 0|time|ago}}}}|{{#iferror:{{#expr:2016}}|10 years ago|{{#ifexpr:{{#if:|1|0}}=0 or abs( (05+2026*12) - (05+2016*12)) >= 12

|{{#expr:floor(abs( ( (05+2026*12) - (05+2016*12) ) / 12 ))}}&nbsp;{{#ifexpr:(05+2026*12) - (05+2016*12) < 0
|{{#ifexpr:ceil( ( (05+2026*12) - (05+2016*12) ) / 12 ) = -1|year's|years'}}
|{{#ifexpr:floor( ( (05+2026*12) - (05+2016*12) ) / 12 ) = 1|year|years}}
}}

|{{#expr:abs( (05+2026*12) - (05+2016*12) )}}&nbsp;{{#ifexpr:(05+2026*12) - (05+2016*12) < 0
|{{#ifexpr: (05+2026*12) - (05+2016*12) = -1|month's|months'}}
|{{#ifexpr: (05+2026*12) - (05+2016*12) = 1|month|months}}
}}

}} {{#ifexpr:(05+2026*12) - (05+2016*12) < 0|time|ago}}}}}}{{#ifeq:{{safesubst:#switch: no
 |no
 |n
 |f
 |false
 |off
 |0        = 
 |         = 
 |¬        = 
 |yes
 |y
 |t
 |true
 |on
 |1        = yes
 |#default = yes
}}|yes|)}}</span>|{{#if: 12|[[:Template:Error]]|{{#if: 31|[[:Template:Error]] }} }}}}<span style="display:none">&#160;(<span class="{{#ifeq:{{safesubst:#switch: no
 |no
 |n
 |f
 |false
 |off
 |0        = 
 |         = 
 |¬        = 
 |yes
 |y
 |t
 |true
 |on
 |1        = yes
 |#default = yes
}}|yes|dtend|bday dtstart published updated}}">{{#if: 2016|2016{{#if: 12| -{{#time:m|1-{{safesubst:#if:1|12}}-1}}{{#if: 31| -31}}}}}}</span>)</span>

Usage in articles

[edit source]

This template is most often used in infoboxes in articles about buildings or organizations, identifying when they were started/founded/opened or dissolved/ended/closed.

It has also been used for naval ships to indicate their commissioned age; however, several Wikipedia editors have reverted such edits. Use of this template in ship articles is therefore not recommended.

Tracking categories

[edit source]

See also

[edit source]