*-----------------------
FUNCTION Edad2(Fec2,Fec1)
* Margen de error: 1 día.
******
public eda
Dif=Fec2-Fec1
sumar = INT(Dif/1461)
Var1=Dif/365 &&Con decimales
Anos=INT(Var1) &&Entero, indicará los años.
Var1=Var1-Anos &&Tomando el resíduo decimal.
Var1=Var1*12 &&Calculando los meses
Meses=INT(Var1) && El Entero
Var1=(Var1-Meses)*30
Dias=INT(Var1)-Sumar
if dias < 0
dias = 28
endif
eda=ALLTRIM(STR(Anos))+" Años, "+ALLTRIM(STR(Meses))+" Meses y "+ALLTRIM(STR(Dias))+" Días."
RETURN eda
*******************************************
procedure edadx
parameters nac
*******************************************
*public edax
hoy=(date())
edax=space(22)
if empty(nac)
edax="ERROR en Fecha Nac. !!!"
return(edax)
endif
xx=1
do while xx=1
resto=0
xm=0
aad=year(date())
aan=0
dia_totn=0
dia_totd=0
interm=0.00
annos=0
xd=0.00
xl=0.00
xmchr=space(2)
edad=space(3)
annonaci=0
aaan=0.00
restoaaan=0
mesdate=0
mesnaci=0
dias=0
aan=year(nac)
annonaci=aan
aaan=aan/4
restoaaan=aan%4
aan=aan*365
aad=aad*365
mmd=month(date())
mmn=month(nac)
mesdate=mmd
mesnaci=mmn
mmd=mmd*30.4
mmn=mmn*30.4
ddd=day(date())
ddn=day(nac)
dia_totd=aad+mmd+ddd
dia_totn=aan+mmn+ddn
resto=dia_totd-dia_totn
do case
case ddd = ddn
dias=0
case ddd > ddn
dias=ddd - ddn
case ddd < ddn
if mesnaci=4 .or. mesnaci=6 .or. mesnaci=9 .or. mesnaci=11
dias=(30 - ddn)+ddd
endif
if mesnaci= 2
dias=(28 - ddn)+ddd
endif
if mesnaci=1 .or. mesnaci=3 .or. mesnaci=5 .or. mesnaci=7 .or. mesnaci=8 .or. mesnaci=10 .or. mesnaci=12
dias=(31 - ddn)+ddd
endif
case ddd < ddn .and. mesenaci= 2
if restoaaan = 0
dias=(29 - ddn)+ddd
else
dias=(28 - ddn)+ddd
endif
endcase
*----------------------------------------
interm=resto/365
annos=int(interm) && anios
xd=interm-annos
xl=mod(resto,365)/30.4
xm=int(xl)
xmchr=transform(xm,"99")
aa=iif(annos = 1,"Año",'Años')
mm=iif(xm = 1 ,'Mes', 'Meses')
dz=iif(dias = 1,'Dia', 'Dias ')
edax=" "+ltrim(str(annos,2))+" &aa "+ltrim(xmchr)+" &mm "+ltrim(str(dias,2))+" &dz "
*----------------------------------------
return(edax)
enddo
*************************************
saludos espero te sirvan