Si gracias pero mi duda es lo mismo calcular el day between y sumar todos los dias y de la cantidad de dias que medio dio, ejemplo : 2191 dias llevarlo a Año Mes Dia me parece que no da igual que calcular los rangos y sumar de esas partes los Años Mes Dia, porque no son dias corridos..
estoy inventando esto: no se si me da bien debo verificar.
Código Delphi
[-]
.......................................
while not zquery5.Eof do
begin
DecodeDate(zquery5.Fields[0].AsDateTime, AAI, MMI, DDI);
DecodeDate(zquery5.Fields[1].AsDateTime, AAF, MMF, DDF);
AA := AAF - AAI;
if( MMI <= MMF ) then
MM := MMF - MMI
else
begin
MM := MMF + 12 - MMI;
AA := AA - 1;
end;
if( DDI <= DDF ) then
DD := DDF - DDI
else
begin
DD := DDF + MonthDays[IsLeapYear(AAF),MMF] - DDI;
MM := MM - 1;
end;
if MM < 0 then
begin
AA := AA - 1;
MM := 12 + MM;
end;
aa1 := aa+aa1;
mm1 := mm + mm1;
dd1 := dd + dd1;
If dd1 > 29 then
begin
dd1:= dd1 - dd;
mm1 := mm1 + 1;
end;
if mm1 > 11 then
begin
mm1 := mm1 - 12;
aa1 := aa1 + 1;
end;
zquery5.Next;
end;
edit4.Text := inttostr(aa1);
edit5.Text := inttostr(mm1);;
edit6.Text := inttostr(dd1);