miércoles, enero 21, 2009

Calcular la edad

El calculo de la edad de una persona es un calculo típico cuando se trabaja con personas, ya sea para enviar un email de felicitación de aniversario, estadisticas u otras multiples funcionalidades. He visto por la web diferentes códigos más o menos complicados, yo dejo 2, uno para el cálculo de la edad mediante codigo c# y otro para el cálculo de la edad via sql.

Calculo edad sql:

datepart(YYYY,getdate()) - datepart(YYYY,u.FechaNacimiento)
-case when datepart(dy, getdate()) < datepart(dy, u.FechaNacimiento) then 1
else 0
end
as Edad


Calculo edad c#:

int intAge = DateTime.Today.Year - lCandidate.BirthDate.Year;
if (DateTime.DaysInMonth(DateTime.Today.Year, lCandidate.BirthDate.Month) >= lCandidate.BirthDate.Day && new DateTime(DateTime.Today.Year, lCandidate.BirthDate.Month, lCandidate.BirthDate.Day) > DateTime.Today)
intAge--;
else if (DateTime.DaysInMonth(DateTime.Today.Year, lCandidate.BirthDate.Month) < lCandidate.BirthDate.Day && new DateTime(DateTime.Today.Year, lCandidate.BirthDate.Month, DateTime.DaysInMonth(DateTime.Today.Year, lCandidate.BirthDate.Month)) > DateTime.Today)
{
intAge--;
}