function anosMesesDias(fechaInicio : TDate;
fechaFin : TDate) : string;
var
anos, meses, dias, m : Integer;
begin
anos := YearOf (fechaFin) - YearOf (fechaInicio);
if MonthOf (fechaInicio) > MonthOf (fechaFin) then
anos := anos - 1;
if MonthOf (fechaFin) < MonthOf (fechaInicio) then
meses := 12 - MonthOf (fechaInicio) + MonthOf (fechaFin)
else
meses := MonthOf (fechaFin) - MonthOf (fechaInicio);
if DayOf (fechaFin) < DayOf (fechaInicio) then
begin
meses := meses - 1;
if MonthOf (fechaFin) = MonthOf (fechaInicio) then
begin
anos := anos - 1;
meses := 11;
end;
end;
dias := DayOf (fechaFin) - DayOf (fechaInicio);
if dias < 0 then
begin
m := MonthOf (fechaFin) - 1;
if m = 0 then
m := 12;
case m of
1, 3, 5, 7, 8, 10, 12 : dias := 31 + dias;
4, 6, 9, 11 : dias := 30 + dias;
2 :
begin
if ((YearOf(fechaFin) mod 4 = 0) and
(YearOf(fechaFin) mod 100 <> 0))
or (YearOf(fechaFin) mod 400 = 0) then
dias := 29 + dias
else
dias := 28 + dias;
end;
end;
end;
result := IntToStr (anos) + ' años, ' +
IntToStr (meses) + ' meses, ' +
IntToStr (dias) + ' días';
end;
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A