Esti módulu apurre operaciones sobre feches.

Funciones

editar

Formatea 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