Modul:Årstall
Hopp til navigering
Hopp til søk
Formål
Denne modulen returnerer årstall, tiår og århundre basert på to argumenter. Første argument er et årstall (eller århundre), og andre argument er hvor mange år/tiår/århundrer det skal legges til eller trekkes fra. Begge argumenter er påkrevde.
Funksjoner
aar: Returnerer årstalltiaar: Returnerer tiåraarhundre: Returnerer århundre
Eksempler
- År
* {{#invoke:Årstall|aar|2014|-5}}
* {{#invoke:Årstall|aar|5|-10}}
* {{#invoke:Årstall|aar|2 f.Kr.|5}}
* {{#invoke:Årstall|aar|101 f.Kr.|10}}
Resultat:
- 2009
- 6 f.Kr.
- 4
- 91 f.Kr.
- Tiår
* {{#invoke:Årstall|tiaar|1941|0}}
* {{#invoke:Årstall|tiaar|1949|0}}
* {{#invoke:Årstall|tiaar|1941|-2}}
* {{#invoke:Årstall|tiaar|1949|2}}
* {{#invoke:Årstall|tiaar|3|-1}}
* {{#invoke:Årstall|tiaar|3|1}}
Resultat:
- 1940-årene
- 1940-årene
- 1920-årene
- 1960-årene
- 0-årene f.Kr.
- 10-årene
- Århundre
- Denne kan også ta innputt på formen «X. århundre» og «X. århundre f.Kr.», i tillegg til årstall.
* {{#invoke:Årstall|aarhundre|2001|0}}
* {{#invoke:Årstall|aarhundre|2001|-1}}
* {{#invoke:Årstall|aarhundre|79|1}}
* {{#invoke:Årstall|aarhundre|79|-1}}
* {{#invoke:Årstall|aarhundre|1. århundre|-1}}
* {{#invoke:Årstall|aarhundre|2. århundre f.Kr.|-2}}
Resultat:
- 21. århundre
- 20. århundre
- 2. århundre
- 1. århundre f.Kr.
- 1. århundre f.Kr.
- 4. århundre f.Kr.
Brukes av
local avrund = require('Modul:Math')._round
-- Inneholder PAGENAME/første argument «f.Kr.»?
local function fkr(s)
if string.match(s, " f.Kr.") then
return (tonumber(string.sub(s, 1, -7))*-1)+1
else
return tonumber(s)
end
end
-- Før eller etter Kristus
local function foeretter(a, b, c, d)
if fkr(a) + b <= 0 then
return ((fkr(a) + b)*-1)+1 .. c
else
return fkr(a) + b .. d
end
end
-- Finner ut hvilket århundre det er
local function aarhundre(s)
if avrund(s, -2) >= tonumber(s) then
return avrund(s, -2)/100
else
return (avrund(s, -2)/100)+1
end
end
-- Finner ut hvilket tiår det er
local function tiaar(s)
if avrund(s, -1) <= tonumber(s) then
return avrund(s, -1)
else
return avrund(s, -1)-10
end
end
local p = {}
-- Printer år
function p.aar(frame)
return foeretter(frame.args[1], frame.args[2], " f.Kr.", "")
end
-- Printer århundre
function p.aarhundre(frame)
local args = frame.args
if string.sub(args[1], -17, -1) == ". århundre f.Kr." then
return foeretter(fkr(string.sub(args[1], 1, -17) .. " f.Kr."), args[2], ". århundre f.Kr.", ". århundre")
elseif string.sub(args[1], -11, -1) == ". århundre" then
return foeretter(fkr(string.sub(args[1], 1, -11)), args[2], ". århundre f.Kr.", ". århundre")
else
return foeretter(aarhundre(fkr(args[1])), args[2], ". århundre f.Kr.", ". århundre")
end
end
-- Printer tiår
function p.tiaar(frame)
if tonumber(frame.args[1]) + tonumber(frame.args[2])*10 < 0 then
return tiaar(frame.args[1]) + (tonumber(frame.args[2])+1)*-10 .. "-årene f.Kr."
else
return tiaar(frame.args[1]) + tonumber(frame.args[2])*10 .. "-årene"
end
end
return p