Modul:ISOtilNorskdato: Forskjell mellom sideversjoner

Fra wikisida.no
Hopp til navigering Hopp til søk
fix?
sporing av feil datoformat
Linje 1: Linje 1:
local p = {}
local p = {}
local lang = mw.getContentLanguage()
local lang = mw.getContentLanguage()
HtmlError = require('Modul:Error')
   
   
function p.isodato(frame)
function p.isodato(frame)
local dato = mw.text.trim(frame.args[1])
local dato = mw.text.trim(frame.args[1])
if dato:match("^%d%d%d%d%-%d%d%-%d%d$") or dato:match("^%d%d%d%d%-%d%d%-%d$") or dato:match("^%d%d%d%d%-%d%-%d%d$") or dato:match("^%d%d%d%d%-%d%-%d$") then
if dato:match("^%d%d%d%d%-%d%d%-%d%d$") or dato:match("^%d%d%d%d%-%d%d%-%d$") then
local month = string.sub(dato, 6, 7)
if tonumber(month) > 12 then
result = dato .. '[[Kategori:Sider som inneholder feil datoformat]]' -- tostring(HtmlError.error{'Feil datoformat: månedstallet er høyere enn 12'})
else
local day = lang:formatDate('j. F', dato)
local year = lang:formatDate('Y', dato)
assert(tonumber(year), frame.args[1])
local args = mw.text.trim(frame.args[2])
if args == 'n' then
result = day.. " "..year
else
result = "[["..day.."]] [["..year.."]]"
end
end
elseif dato:match("^%d%d%d%d%-%d%-%d%d$") or dato:match("^%d%d%d%d%-%d%-%d$") then
local day = lang:formatDate('j. F', dato)
local day = lang:formatDate('j. F', dato)
local year = lang:formatDate('Y', dato)
local year = lang:formatDate('Y', dato)
Linje 19: Linje 36:
return result
return result
end
end
 
return p
return p

Sideversjonen fra 12. mai 2014 kl. 21:13

Denne modulen bruker #time-funksjonen til å omdanne datoer til formen DD. MMMM ÅÅÅÅ (for eksempel 21. februar 1981) som er standard på no.wiki.

Den første, og eneste, parameteren er datoen man ønsker å omsette til norsk wikistandard.

Se mal:ISOtilNorskdato som er frontend for modulen.



local p = {}
local lang = mw.getContentLanguage()
HtmlError = require('Modul:Error')
 
function p.isodato(frame)
	local dato = mw.text.trim(frame.args[1])
	if dato:match("^%d%d%d%d%-%d%d%-%d%d$") or dato:match("^%d%d%d%d%-%d%d%-%d$") then
		local month = string.sub(dato, 6, 7)
		if tonumber(month) > 12 then
			result = dato .. '[[Kategori:Sider som inneholder feil datoformat]]' -- tostring(HtmlError.error{'Feil datoformat: månedstallet er høyere enn 12'})
 
		else
			local day = lang:formatDate('j. F', dato)
		local year = lang:formatDate('Y', dato)
		assert(tonumber(year), frame.args[1])
			local args = mw.text.trim(frame.args[2])
			if args == 'n' then
				result = day.. " "..year
			else
				result = "[["..day.."]] [["..year.."]]"
			end
		end
	elseif dato:match("^%d%d%d%d%-%d%-%d%d$") or dato:match("^%d%d%d%d%-%d%-%d$") then
		local day = lang:formatDate('j. F', dato)
		local year = lang:formatDate('Y', dato)
		assert(tonumber(year), frame.args[1])
			local args = mw.text.trim(frame.args[2])
			if args == 'n' then
				result = day.. " "..year
			else
				result = "[["..day.."]] [["..year.."]]"
			end
	else
		result = dato
	end
	return result
end
 
return p