Módulu:Fecha
Uso
editarEsti módulu apurre operaciones sobre feches.
Funciones
editarfecha
editarFormatea una fecha. Sintaxis:
{{Invoke:Fecha|fecha|<día>|<mes>|<añu>}}
- enllace:
- calendariu: si toma'l valor xulianu"
- Exemplos
{{#Invoke:Fecha|Fecha|01|04|010}}
→ 1 de abril de 10{{#Invoke:Fecha|Fecha|2|4|2010}}
→ 2 de abril de 2010{{#Invoke:Fecha|Fecha||02|-1980}}
→ febreru de 1980 a. C.{{#Invoke:Fecha|Fecha||xineru|0980}}
→ xineru de 980{{#Invoke:Fecha|Fecha|||-0980|enlace=no}}
→ 980 a. C.{{#Invoke:Fecha|Fecha}}
→{{#Invoke:Fecha|Fecha|1=|2=|3=}}
→{{#Invoke:Fecha|Fecha|26|4|1564|calendario=xulianu}}
→ 26 de abril de 1564xul.
local z = {}
local meses = {
'xineru','febreru','marzu','abril','mayu','xunu','xunetu','agostu','setiembre','ochobre','payares','avientu'}
function z.NombreDelMes(mes)
-- Función que devuelve'l nome del mes, onde mes ye un númberu ente 1 y 12.
-- Si nun ye asina se devuelve'l valor de mes.
-- Por casu, 2 --> febreru --
--02 --> febreru --
--abril --> abril
-- MAYU --> MAYU
return meses[tonumber(mes)] or mes
end
function z.Fecha(frame)
-- Función que formatea una fecha --
-- L'únicu parámetru obligatoriu ye l'añu o 3.
-- Llograr los argumentos colos que se llama a la función
local argumentos = {}
local parent = {}
if frame == mw.getCurrentFrame() then
if frame.args[3] or frame.args["año"] then
argumentos = frame.args
else
parent = frame:getParent()
argumentos = parent.args
end
else
argumentos = frame
end
local enlace = argumentos["enlace"] ~= "no"
-- Llograr el día, el nome del mes y l'añu incluyendo pa los años negativos a.d.
local dia = argumentos["día"] or argumentos[1] or ''
if dia ~='' then
dia=tonumber(dia) -- Esaniciar ceros a la izquierda del día.
end
local mes = argumentos["mes"] or argumentos[2] or ''
if mes~='' then
mes =meses[tonumber(mes)] or mes
end
local anyo=tonumber(argumentos["año"] or argumentos[3]) or 0
if anyo < 0 then
anyo = -anyo .. ' a. C.'
end
local calendario = ''
if argumentos["calendario"] == 'juliano' or argumentos["calendario"] == 'xulianu' then
calendario = '<sup>[[Calendariu xulianu|xul.]]</sup>'
end
-- Formatear la fecha dependiendo de si'l día, el mes o l'añu tán informaos
if dia ~='' then
if enlace then
return '[[' .. dia .. ' de ' .. mes .. ']] de [[' .. anyo .. ']]' .. calendario
else
return dia .. ' de ' .. mes .. ' de ' .. anyo .. calendario
end
elseif mes~='' then
if enlace then
return '[[' .. mes .. ']] de [[' .. anyo .. ']]'
else
return mes .. ' de ' .. anyo
end
elseif anyo ~= 0 then
if enlace then
return '[[' .. anyo .. ']]'
else
return anyo
end
end
end
return z