« Module:Date/Bac à sable » : différence entre les versions

Contenu supprimé Contenu ajouté
Eru (discuter | contributions)
Annulation de la modification de Eru (d) test concluant
Balise : Annulation
Eru (discuter | contributions)
Balise : Révoqué
Ligne 538 :
params[v] = params[v] or Yesno( args[n], true, false ) or nil
end
params['ageToujours'] = args['âge'] == 'toujours'
 
-- sortie pour les tests unitaire, ou pour débugger
Ligne 590 ⟶ 591 :
-- on traite l'âge, naissance et mort
local agePrefix = args.agePrefix
local ageageToujours = args['âge'] and fun.age( annee, numMois, jour )ageToujours
local age = args['âge'] and fun.age( annee, numMois, jour, nil, nil, nil, ageToujours)
local naissance = args.naissance
local mort = args.mort
local evenement = args['événement'] or args.evenement
if mort and args.anneeNaissanceMort then
age = fun.age( args.anneeNaissanceMort, args.numMoisNaissanceMort, args.jourNaissanceMort, annee, numMois, jour, ageToujours )
agePrefix = agePrefix or 'à ' -- faut-il mettre \194\160 ?
elseif evenement and args.anneeNaissanceMort then
if naissance then
age = fun.age( annee, numMois, jour, args.anneeNaissanceMort, args.numMoisNaissanceMort, args.jourNaissanceMort, ageToujours )
else
age = fun.age(args.anneeNaissanceMort, args.numMoisNaissanceMort, args.jourNaissanceMort, annee, numMois, jour, ageToujours )
end
end
Ligne 835 ⟶ 837 :
age = '('.. agePrefix .. age .. '\194\160ans)'
end
elseif age and ageToujours then
age = '('.. agePrefix .. age .. '\194\160ans)'
else
age = false
Ligne 1 191 ⟶ 1 195 :
-- 1, 2, 3 : année, mois jour de naissance (supposé dans le calendrier grégorien)
-- 4, 5, 6 : année, mois, jour du calcul (facultatif, par défaut la date UTC courante).
function fun.age( an, mn, jn, ac, mc, jc, ageToujours )
if ac == nil then
local today = os.date( '!*t' )
Ligne 1 207 ⟶ 1 211 :
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.
Ligne 1 214 ⟶ 1 218 :
 
local age = ac - an
 
if mn == nil or mc == nil then
if ageToujours then
return (age-1) .. '-' .. age
end
return
end
 
if mc == mn then
if jc == nil or jn == nil then
if ageToujours then
return (age-1) .. '-' .. age
end
return
end