Abrir menú principal

Cambios

1865 bytes añadidos ,  hace 7 años
sin resumen de edición
local z = {}

local meses = {
'enero','febrero','marzo','abril','mayo','junio','julio','agosto','septiembre','octubre','noviembre','diciembre'}

function z.fechaActual()
local d = os.date('!*t')

local fecha = {}
fecha.anyo = d.year
fecha.mes = d.month
fecha.dia = d.day
fecha.hora = d.hour
fecha.minuto = d.min
fecha.segundo = d.sec

return fecha
end

function validar(fecha)
fecha.anyo = tonumber(fecha.anyo)
fecha.mes = tonumber(fecha.mes)
fecha.dia = tonumber(fecha.dia)
fecha.hora = tonumber(fecha.hora)
fecha.minuto = tonumber(fecha.minuto)
fecha.segundo = tonumber(fecha.segundo)

-- Falta validar que es una fecha válida
end

function z.edad(fecha1, fecha2)
--Función que devuelve la edad en años entre dos fechas

--Se supone que las fechas se han validado previamente.

if not fecha1 then
return -- falta devolver un error
end

if not fecha2 then
fecha2=z.fechaActual()
end

local anyos = fecha2.anyo - fecha1.anyo

--if true then return require('Módulo:Tablas').tostring(fecha2) end

if fecha2.mes < fecha1.mes or
(fecha2.mes == fecha1.mes and fecha2.dia < fecha1.dia) then
anyos = anyos - 1
end

if anyos < 0 then
return -- falta devolver error
elseif anyos == 0 then
return 'menos de un año'
elseif anyos == 1 then
return 'un año'
else
return anyos .. ' años'
end
end

function z.llamadaDesdeUnaPlantilla(frame)
function obtenerFecha(dia, mes, anyo)
local resultado={}

if dia then
resultado.dia = dia
resultado.mes = mes
resultado.anyo = anyo

validar(resultado)

return resultado
end
end

local args = frame.args

local funcion = z[args[1]]
local fecha1 = obtenerFecha(args[2], args[3], args[4])
local fecha2 = obtenerFecha(args[5], args[6], args[7])

return funcion(fecha1, fecha2)
end

return z
Usuario anónimo