sacar la edad correcta de una persona

romi
11 de Enero del 2004
hola alguien podria ayudarme a sacar la edad correcta de una persona, por ejemplo estoy usando la funcion DateDiff para obtener la edad de alguien que nacio el 28/08/1974, la funion me da como resultado 30 años, pero si se fijan bien aun esa persona no ha cumplido los 30, es decir aun no es 28/08/2004 la funcion me deberia dar como resultado 29 años que son los correcto.
me pueden ayudar porfavor. Gracias

joripeca
11 de Enero del 2004
mira sinceramente cunado necesito calcular la edad de una persona hago la diferencia de las fechas directamente sin utilizar la funcion datediff ya que ella hace el calculo teniendo en cuenta toda la informacion de la fecha.

prueba esto

Edad= int((date() - FechaNaci)/365)
la funcion int es para que solo te devuelva la parte entera del calculo

espero que esto te sirva

kinoscar
11 de Enero del 2004
en val variable año almacenamos el valor devuelto por datediff

if mounth(28/08/1974)< mount(date) then
año=año-1
elseif mounth(28/08/1974)=mounth(date) then
if day(28/08/1974)<day(date) then
año=año-1
endif
endif

este codigo evalua si el mes de la fecha de nacimiento es menor al mes del dia de hoy a año le resta 1, si los meses son iguales evalua de la misma forma los dias,si el dia de nacimiento es menor al dia de hoy a año le resta 1 en los casos contrario lo deja igual, no esta probado pero creo que el algoritmo esta bien

espero te sirva
suerte