Template:Birth based on age as of date/doc

From Startupedia

For a person whose date of birth is unknown, this template estimates the person's birth year and current age based on a given age at a certain date. This is useful when a reliable source states only their age at the time of publication.

If you have reason to believe the subject's age has been discussed by sources at more than one point in time, consider not using this template which, by definition, introduces a whole year's worth of error margin. For example, if a reliable source on May 1, 2020 states Mr X is 39 years old and a different source on August 1, 2020 states Mr X is 40 years old, then Mr X must have been born between May 2, 1980 and August 1, 1980. Using this template would suggest a birth year of "1980 or 1981" using the first source, or "1979 or 1980" using the second source. Since the two sources together establish 1980 as the birth year, using this template would be inappropriate.

If the subject has died, please use {{Birth based on age at death}} instead of this template. While as of 2024 that template is just a wrapper of this one, this leaves open the possibility to use that template to recategorize the subject. Also, it makes sure you don't forget to suppress the age field.

Syntax

Typical use

<syntaxhighlight lang="wikitext"> Expression error: Unrecognized word "year". or Expression error: Unrecognized word "year". (age Expression error: Unexpected < operator.Expression error: Unexpected < operator.) </syntaxhighlight>

Code:
{{birth based on age as of date|50|2023|6|1}}
Result:
1972 or 1973 (age 52–53)

The age, year, and day must be supplied as natural numbers; month can be specified as a natural number as well as by name or abbreviation (e.g. "August" or "Aug"). The Gregorian calendar is assumed, with no special support provided for dual dating or the difference between Old Style and New Style dates.

If only the publication year for a source is known, the "day" and "month" fields can be omitted.

No age

In some contexts—like the lead sentence of a biography—it may be desirable to show only the birth year, and not a person’s age. To suppress the age field, set |noage=any value:

Code:
{{birth based on age as of date|50|2023|6|1|noage=yes}}
{{birth based on age as of date|50|2023|6|1|noage=1}}
Result:
1972 or 1973
1972 or 1973
Note
The parameter |noage= was added April 2013 and initially only accepted a value of 1, such as |noage=1. It was updated July 2019 to accept any value, such as |noage=yes.

Slash separator

In general, the two possible birth years should be written out as: 1950 or 1951. In contexts which are tight for space, the separator between the two possible years should be a slash: 1950/1951.

To use the / separator, add |slash=any value.

Code:
{{birth based on age as of date|50|2023|6|1|slash=yes}}
{{birth based on age as of date|50|2023|6|1|slash=1}}
Result:
1972/1973 (age 52–53)
1972/1973 (age 52–53)
Note
The parameter |slash= was added April 2023 when the template was updated to separate years with or instead of /. It replaced the now deprecated parameter |mos=, which was added November 2015 and removed July 2023.

Examples

If, for example, a reference dated July 4, 2023 mentions that someone is 50 years old, that person's birth year and age can be rendered using:

{{birth based on age as of date|50|2023|July|4}}

The following examples are for a person reported as being 50 years old in 2024

Template code Result
{{birth based on age as of date|50|2024|07|1}} 1973 or 1974 (age 50–51)
{{birth based on age as of date|50|2024|July|1}} 1973 or 1974 (age 50–51)
{{birth based on age as of date|50|2024|12|31}} 1973 or 1974 (age 50–51)
{{birth based on age as of date|50|2024|Jan|1}} 1973 or 1974 (age 51–52)
{{birth based on age as of date|50|2024|12|31|slash=yes}} 1973/1974 (age 50–51)
{{birth based on age as of date|50|2024|Jan|1|slash=1}} 1973/1974 (age 51–52)
{{birth based on age as of date|50|2024|12|31|noage=yes}} 1973 or 1974
{{birth based on age as of date|50|2024|Jan|1|noage=1}} 1973 or 1974
{{birth based on age as of date|50|2024|12|31|noage=yes|slash=yes}} 1973/1974
{{birth based on age as of date|50|2024|Jan|1|noage=1|slash=1}} 1973/1974
{{birth based on age as of date|50|2024|July}} 1973 or 1974 (age 50–51)
{{birth based on age as of date|50|2024|Jan}} 1973 or 1974 (age 51–52)
{{birth based on age as of date|50|2024|12}} 1973 or 1974 (age 50–51)
{{birth based on age as of date|50|2024}} 1973 or 1974 (age 50–51)

TemplateData

This is the TemplateData for this template used by TemplateWizard, VisualEditor and other tools. See a monthly parameter usage report for Template:Birth based on age as of date in articles based on its TemplateData.

TemplateData for Birth based on age as of date

<templatedata> { "params": { "1": { "label": "Age", "description": "Age of subject at date of reference's publication.", "example": "55", "type": "number", "required": true }, "2": { "label": "Year", "description": "Year of publication of reference.", "example": "1950", "type": "number", "required": true }, "3": { "label": "Month", "description": "Month of publication of reference.", "example": "8 or August", "type": "string", "suggested": true }, "4": { "label": "Day", "description": "Day of publication of reference.", "example": "21", "type": "number", "suggested": true }, "noage": { "label": "Hide age", "description": "Set to any value to display birth years without the ages. If this parameter is omitted or contains no value, the age is displayed.", "type": "boolean", "required": false, "suggestedvalues": [ "yes", "y", "1" ] }, "slash": { "label": "Slash separator", "description": "Set to any value to separate birth years with a '/' for tight spaces (e.g., table cells). If this parameter is omitted or contains no value, birth years are separated with ' or '.", "type": "boolean", "required": false, "suggestedvalues": [ "yes", "y", "1" ] } }, "description": "For a person whose date of birth is unknown, this template estimates the person's birth year and current age based on a given age at a certain date.", "format": "inline", "paramOrder": [ "1", "2", "3", "4", "noage", "slash" ] } </templatedata>

Tracking category

See also