Difference between revisions of "Template:Date precision"

From blackwiki
Jump to navigation Jump to search
imported>RexxS
(evaluate the expression)
imported>RexxS
(Undid revision 967037019 by RexxS (talk) allow raw)
 
Line 1: Line 1:
{{#expr: {{if empty |{{#invoke:WikidataIB|getDatePrecision|{{{1|}}}|qid={{{qid|}}}}} |{{{2|}}} |0 }} }}<noinclude>
+
{{if empty |{{#invoke:WikidataIB|getDatePrecision|{{{1|}}}|qid={{{qid|}}}}} |{{{2|}}} |0 }}<noinclude>
 
{{documentation}}
 
{{documentation}}
 
</noinclude>
 
</noinclude>

Latest revision as of 19:08, 10 July 2020

Script error: No such module "If empty".

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

Testing for precision can be done like this, and the default output can be changed by assigning the default a large number: