Jump to content

Template:Start date and age/doc

From Wikihoc

{{#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.

Usage

Parameters

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

Default separator: semicolon

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( (06+2026*12) - ({{#time:n|1-{{safesubst:#if:1|01}}-1}}+2010*12)) >= 12

1-{{safesubst:#if:1|01}}-1}}+2010*12) ) / 12 ))}} {{#ifexpr:(06+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:(06+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:(06+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( (06+2026*12) - (06+2010*12)) >= 12

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

}}

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

}}

}} {{#ifexpr:(06+2026*12) - (06+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|Error: first parameter is missing.|{{#if: 02|Error: first parameter is missing. }} }}}} ({{#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( (06+2026*12) - ({{#time:n|1-{{safesubst:#if:1|1}}-1}}+2010*12)) >= 12

1-{{safesubst:#if:1|1}}-1}}+2010*12) ) / 12 ))}} {{#ifexpr:(06+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:(06+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:(06+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( (06+2026*12) - (06+2010*12)) >= 12

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

}}

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

}}

}} {{#ifexpr:(06+2026*12) - (06+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|Error: first parameter is missing.|{{#if: 2|Error: first parameter is missing. }} }}}} ({{#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( (06+2026*12) - ({{#time:n|1-{{safesubst:#if:1|01}}-1}}+2008*12)) >= 12

1-{{safesubst:#if:1|01}}-1}}+2008*12) ) / 12 ))}} {{#ifexpr:(06+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:(06+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:(06+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( (06+2026*12) - (06+2008*12)) >= 12

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

}}

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

}}

}} {{#ifexpr:(06+2026*12) - (06+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|Error: first parameter is missing.|{{#if: 9|Error: first parameter is missing. }} }}}} ({{#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( (06+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:(06+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:(06+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:(06+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( (06+2026*12) - (06+{{#time:Y|now-100 days}}*12)) >= 12

now-100 days}}*12) ) / 12 ))}} {{#ifexpr:(06+2026*12) - (06+{{#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:(06+2026*12) - (06+{{#time:Y|now-100 days}}*12) < 0 now-100 days}}*12) = -1|month's|months'}} now-100 days}}*12) = 1|month|months}}

}}

}} {{#ifexpr:(06+2026*12) - (06+{{#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}}|Error: first parameter is missing.|{{#if: {{#time:j|now-100 days}}|Error: first parameter is missing. }} }}}} ({{#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( (06+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:(06+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:(06+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:(06+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( (06+2026*12) - (06+{{#time:Y|now-1 days}}*12)) >= 12

now-1 days}}*12) ) / 12 ))}} {{#ifexpr:(06+2026*12) - (06+{{#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:(06+2026*12) - (06+{{#time:Y|now-1 days}}*12) < 0 now-1 days}}*12) = -1|month's|months'}} now-1 days}}*12) = 1|month|months}}

}}

}} {{#ifexpr:(06+2026*12) - (06+{{#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}}|Error: first parameter is missing.|{{#if: {{#time:j|now-1 days}}|Error: first parameter is missing. }} }}}} ({{#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( (06+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:(06+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:(06+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:(06+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( (06+2026*12) - (06+{{#time:Y|now}}*12)) >= 12

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

}}

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

}}

}} {{#ifexpr:(06+2026*12) - (06+{{#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}}|Error: first parameter is missing.|{{#if: {{#time:j|now}}|Error: first parameter is missing. }} }}}} ({{#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( (06+2026*12) - ({{#time:n|1-{{safesubst:#if:1|9}}-1}}+2001*12)) >= 12

1-{{safesubst:#if:1|9}}-1}}+2001*12) ) / 12 ))}} {{#ifexpr:(06+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:(06+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:(06+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( (06+2026*12) - (06+2001*12)) >= 12

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

}}

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

}}

}} {{#ifexpr:(06+2026*12) - (06+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|Error: first parameter is missing.|{{#if: |Error: first parameter is missing. }} }}}} ({{#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( (06+2026*12) - ({{#time:n|1-{{safesubst:#if:1|09}}-1}}+2002*12)) >= 12

1-{{safesubst:#if:1|09}}-1}}+2002*12) ) / 12 ))}} {{#ifexpr:(06+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:(06+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:(06+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( (06+2026*12) - (06+2002*12)) >= 12

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

}}

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

}}

}} {{#ifexpr:(06+2026*12) - (06+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|Error: first parameter is missing.|{{#if: |Error: first parameter is missing. }} }}}} ({{#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( (06+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{{2}}}}}-1}}+2005*12)) >= 12

1-{{safesubst:#if:1|{{{2}}}}}-1}}+2005*12) ) / 12 ))}} {{#ifexpr:(06+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:(06+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:(06+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( (06+2026*12) - (06+2005*12)) >= 12

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

}}

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

}}

}} {{#ifexpr:(06+2026*12) - (06+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: |Error: first parameter is missing.|{{#if: |Error: first parameter is missing. }} }}}} ({{#if: 2005|2005{{#if: | -{{#time:m|1-{{safesubst:#if:1|{{{2}}}}}-1}}{{#if: | -{{{3}}}}}}}}})

Optional separator: parentheses

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( (06+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12)) >= 12

1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ))}} {{#ifexpr:(06+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:(06+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:(06+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( (06+2026*12) - (06+2003*12)) >= 12

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

}}

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

}}

}} {{#ifexpr:(06+2026*12) - (06+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|Error: first parameter is missing.|{{#if: 15|Error: first parameter is missing. }} }}}} ({{#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( (06+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12)) >= 12

1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ))}} {{#ifexpr:(06+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:(06+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:(06+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( (06+2026*12) - (06+2003*12)) >= 12

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

}}

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

}}

}} {{#ifexpr:(06+2026*12) - (06+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|Error: first parameter is missing.|{{#if: 15|Error: first parameter is missing. }} }}}} ({{#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( (06+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12)) >= 12

1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ))}} {{#ifexpr:(06+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:(06+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:(06+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( (06+2026*12) - (06+2003*12)) >= 12

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

}}

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

}}

}} {{#ifexpr:(06+2026*12) - (06+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|Error: first parameter is missing.|{{#if: |Error: first parameter is missing. }} }}}} ({{#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( (06+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12)) >= 12

1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) ) / 12 ))}} {{#ifexpr:(06+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:(06+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:(06+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( (06+2026*12) - (06+2003*12)) >= 12

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

}}

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

}}

}} {{#ifexpr:(06+2026*12) - (06+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: |Error: first parameter is missing.|{{#if: |Error: first parameter is missing. }} }}}} ({{#if: 2003|2003{{#if: | -{{#time:m|1-{{safesubst:#if:1|{{{2}}}}}-1}}{{#if: | -{{{3}}}}}}}}})

Line break with semicolon

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( (06+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12)) >= 12

1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ))}} {{#ifexpr:(06+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:(06+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:(06+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( (06+2026*12) - (06+2003*12)) >= 12

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

}}

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

}}

}} {{#ifexpr:(06+2026*12) - (06+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|Error: first parameter is missing.|{{#if: 15|Error: first parameter is missing. }} }}}} ({{#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( (06+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12)) >= 12

1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ))}} {{#ifexpr:(06+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:(06+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:(06+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( (06+2026*12) - (06+2003*12)) >= 12

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

}}

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

}}

}} {{#ifexpr:(06+2026*12) - (06+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|Error: first parameter is missing.|{{#if: 15|Error: first parameter is missing. }} }}}} ({{#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( (06+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12)) >= 12

1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ))}} {{#ifexpr:(06+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:(06+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:(06+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( (06+2026*12) - (06+2003*12)) >= 12

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

}}

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

}}

}} {{#ifexpr:(06+2026*12) - (06+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|Error: first parameter is missing.|{{#if: |Error: first parameter is missing. }} }}}} ({{#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( (06+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12)) >= 12

1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) ) / 12 ))}} {{#ifexpr:(06+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:(06+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:(06+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( (06+2026*12) - (06+2003*12)) >= 12

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

}}

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

}}

}} {{#ifexpr:(06+2026*12) - (06+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: |Error: first parameter is missing.|{{#if: |Error: first parameter is missing. }} }}}} ({{#if: 2003|2003{{#if: | -{{#time:m|1-{{safesubst:#if:1|{{{2}}}}}-1}}{{#if: | -{{{3}}}}}}}}})

Line break with parentheses

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( (06+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12)) >= 12

1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ))}} {{#ifexpr:(06+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:(06+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:(06+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( (06+2026*12) - (06+2003*12)) >= 12

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

}}

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

}}

}} {{#ifexpr:(06+2026*12) - (06+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|Error: first parameter is missing.|{{#if: 15|Error: first parameter is missing. }} }}}} ({{#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( (06+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12)) >= 12

1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ))}} {{#ifexpr:(06+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:(06+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:(06+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( (06+2026*12) - (06+2003*12)) >= 12

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

}}

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

}}

}} {{#ifexpr:(06+2026*12) - (06+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|Error: first parameter is missing.|{{#if: 15|Error: first parameter is missing. }} }}}} ({{#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( (06+2026*12) - ({{#time:n|1-{{safesubst:#if:1|02}}-1}}+2003*12)) >= 12

1-{{safesubst:#if:1|02}}-1}}+2003*12) ) / 12 ))}} {{#ifexpr:(06+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:(06+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:(06+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( (06+2026*12) - (06+2003*12)) >= 12

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

}}

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

}}

}} {{#ifexpr:(06+2026*12) - (06+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|Error: first parameter is missing.|{{#if: |Error: first parameter is missing. }} }}}} ({{#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( (06+2026*12) - ({{#time:n|1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12)) >= 12

1-{{safesubst:#if:1|{{{2}}}}}-1}}+2003*12) ) / 12 ))}} {{#ifexpr:(06+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:(06+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:(06+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( (06+2026*12) - (06+2003*12)) >= 12

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

}}

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

}}

}} {{#ifexpr:(06+2026*12) - (06+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: |Error: first parameter is missing.|{{#if: |Error: first parameter is missing. }} }}}} ({{#if: 2003|2003{{#if: | -{{#time:m|1-{{safesubst:#if:1|{{{2}}}}}-1}}{{#if: | -{{{3}}}}}}}}})

TemplateData

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

|
|

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

|
|

}}}}

Use in microformats

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

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

  • {{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( (06+2026*12) - ({{#time:n|1-{{safesubst:#if:1|12}}-1}}+2016*12)) >= 12

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

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

}} {{#ifexpr:(06+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( (06+2026*12) - (06+2016*12)) >= 12

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

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

}} {{#ifexpr:(06+2026*12) - (06+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|Error: first parameter is missing.|{{#if: 31|Error: first parameter is missing. }} }}}} ({{#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( (06+2026*12) - ({{#time:n|1-{{safesubst:#if:1|12}}-1}}+2016*12)) >= 12

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

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

}} {{#ifexpr:(06+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( (06+2026*12) - (06+2016*12)) >= 12

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

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

}} {{#ifexpr:(06+2026*12) - (06+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|<span class="error">Error: first parameter is missing.</span>|{{#if: 31|<span class="error">Error: first parameter is missing.</span> }} }}}}<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>

Tracking categories

See also