Modul:Dato og alder/sandkasse
![]() | Dette er modulsandkassa for Modul:Dato og alder (forskjell). |
Denne modulen henter fødselsdatoer og dødsdatoer fra Wikidata og returnerer lenket dato og år, samt beregner alder ut i fra differansen mellom disse to. Dersom dødsdato ikke er oppgitt, beregner den alderen ut i fra differansen mellom fødselsdato og dagens dato.
Bruk
[rediger kilde]Modulen er primært tenkt brukt i infobokser, det vil si som en del av malkoden, ikke som en del av infoboksen i en artikkel.
- Eksempel for fødselsdatoer
|født= {{#if:{{{født|{{{fødselsdato|}}}}}}|{{{født|{{{fødselsdato|}}}}}}|{{#invoke:Dato og alder|bda}}}}
Dersom parameteren |født=
eller |fødselsdato=
er angitt, velges data fra disse. Dersom disse to ikke er angitt, hentes data fra Wikidata. Dersom dødsdato ikke er angitt på Wikidata, vil alder returneres i dette feltet, basert på differansen mellom dagens dato og fødselsdato. Resultatet i dette feltet vil bli lenket og på formen dd. mmmm åååå (xx år)
, evt. dd. mmmm åååå
hvis personen er død.
- Eksempel for dødsdatoer
|død= {{#if:{{{død|{{{dødsdato|}}}}}}|{{{død|{{{dødsdato|}}}}}}|{{#invoke:Dato og alder|dda}}}}
Dersom parameteren |død=
eller |dødsdato=
er angitt, velges data fra disse. Dersom disse to ikke er angitt, hentes data fra Wikidata. Dersom dersom fødselsdato ikke er angitt på Wikidata, vil den ikke returnere noe. Resultatet i dette feltet vil bli lenket og på formen dd. mmmm åååå (xx år)
.
- Modul:Dato og alder • Modul:Dato og alder/sandkasse • forskjellig (diff)
local p = {}
local formatISOdate = require('Modul:ISOtilNorskdato').formatIsoDate
local lang = mw.getContentLanguage()
function p.bd(frame)
if not mw.wikibase then
return ""
end
local artikkel = mw.wikibase.getEntity()
if not artikkel then
return "[[Kategori:Artikler som mangler på Wikidata]]"
end
local claims = artikkel.claims
if not claims then
return "[[Kategori:Artikler som mangler utsagn på Wikidata]]"
end
local p569 = claims.p569
if not p569 then
return ""
end
local birthdate = p569[0].mainsnak.datavalue.value["time"]
if not birthdate then
return ""
end
birth_date = string.sub(birthdate,2,5) .. '-' .. string.sub(birthdate,7,8) .. '-' .. string.sub(birthdate,10,11)
local bdOut = formatISOdate(birth_date)
return bdOut
end
return p