Modul:Årstall
Hopp til navigering
Hopp til søk
Formål[rediger kilde]
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[rediger kilde]
aar
: Returnerer årstalltiaar
: Returnerer tiåraarhundre
: Returnerer århundre
Eksempler[rediger kilde]
- Å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[rediger kilde]
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