Template:Date precision
0
This template uses Lua: |
This template develops the getDatePrecision()
function from Module:WikidataIB for use in comparisons.
The getDatePrecision()
function takes a property-ID (as the first unnamed parameter) and an entity-ID (as |qid=
) and returns the precision of the first best date value for the given property of the given entity. If the entity-ID is not given, the entity-ID connected to the current page is used.
The precisions are an integer from 0 to 11, where the values are defined at mw:Wikibase/DataModel#Dates_and_times:
- 0 - billion years, 1 - hundred million years, ..., 6 - millennia, 7 - century, 8 - decade, 9 - year, 10 - month, 11 - day
The getDatePrecision()
function returns an empty string when there is no precision, or the property is not a date, or the current page is not connected. This can cause problems in templates if an attempt is made to compare the returned value with a number, so this template traps that and returns either the second unnamed parameter or 0 if that is not supplied.
Examples
[edit]- Darach Ó Séaghdha (Q52063097):
{{Date precision|P569|qid=Q52063097}}
→ 7 - Douglas Adams (Q42)
{{Date precision|P569|qid=Q42}}
→ 11 - No qid:
{{Date precision|P569|qid={{{qid|}}} }}
→ 0 - No qid, default set to 99:
{{Date precision|P569|qid={{{qid|}}}|99}}
→ 0
Testing for precision can be done like this, and the default output can be changed by assigning the default a large number:
- Darach Ó Séaghdha (Q52063097):
{{#ifexpr:{{Date precision|P569|qid=Q52063097}} > 8 |This if it's year or smaller|This if it's more than a year}}
→ This if it's more than a year - Douglas Adams (Q42):
{{#ifexpr:{{Date precision|P569|qid=Q42}} > 8 |This if it's year or smaller|This if it's more than a year}}
→ This if it's year or smaller - No qid:
{{#ifexpr:{{Date precision|P569|qid={{{qid|}}} }} > 8 |This if it's year or smaller|This if it's more than a year}}
→ This if it's more than a year - No qid, default set to 99:
{{#ifexpr:{{Date precision|P569|qid={{{qid|}}}|99}} > 8 |This if it's year or smaller|This if it's more than a year}}
→ This if it's more than a year