Module:Âge
Aller à la navigation
Aller à la recherche
Permet de calculer l'âge d'une personne en fonction de sa date de naissance.
local p = {} function p.calculer( frame ) args = frame.args local an = args[1] local mn = args[2] local jn = args[3] local ac = args[4] local mc = args[5] local jc = args[6] return p.calculerInterne(an, mn, jn, ac, mc, jc) --return "1: " .. an .. " - 2: " .. mn end -- retourne l'age en fonction de la ou les dates fournies. La valeur retounée est de type 'number' -- Parammètres : -- 1, 2, 3 : année, mois jour de naissance (supposé dans le calendrier grégorien) -- 4, 5, 6 : année, mois, joue du calcul (facultatif, par défaut la date UTC courante). function p.calculerInterne ( an, mn, jn, ac, mc, jc ) if ac == nil then local today = os.date( '!*t' ) ac = today.year mc = today.month jc = today.day else ac = tonumber( ac ) mc = tonumber( mc ) jc = tonumber( jc ) end local an = tonumber( an ) local mn = tonumber( mn ) local jn = tonumber( jn ) if an == nil or ac == nil or mn == nil or mc == nil then -- pas de message d'erreur qui risque de faire planter la fonction appelante -- à elle de gérer ce retour. return end local age = ac - an if mc == mn then if jc == nil or jn == nil then return end return age-tonumber( jc < jn and 1 or 0 ) else return age-tonumber( mc < mn and 1 or 0 ) end end return p