Buenos días
Tengo el siguiente problema.
Cuando calculo los días de vida de una persona entre las fechas 31/01/2019 y el día 12/02/2019 la función me retorna 9 días, sin embargo la persona de acuerdo al calendario tiene 12 Días.
Creo que debo modifica la línea
Código Delphi
[-]
Dia:=DD+MonthDays[IsLeapYear(AA),MM]-D;
Mes := Mes -1;
Pero que sugerencias o ideas me pueden dar para solucionar este problemita.
Muchas gracias
La función que aplico es la siguiente (La he tomado de los foros de club delphi)
Código Delphi
[-]function CalculaEdadCompleta(Fecha:TDateTime):String;
var A, AA, M, MM, D, DD: Word;
Anio, Mes, Dia: double;
begin
DecodeDate(Fecha, A, M, D);
DecodeDate(Date, AA, MM, DD);
Anio := Int(AA - A);
if( M <= MM ) then
Mes := MM - M
else
begin
Mes := MM+12-M;
Anio := Anio -1;
end;
if( D <= DD ) then
Dia := DD - D
else
begin
Dia:=DD+MonthDays[IsLeapYear(AA),MM]-D;
Mes := Mes -1;
end;
if Mes < 0 then
begin
Anio := Anio - 1;
Mes := 12 + Mes;
end;
Result := Format('Años: %.0f, Meses: %.0f, Dias: %.0f', [Anio, Mes, Dia]);
end;