Problemas con Calculo entre Fechas
Buenas. tardes. Le pido coplaboracion con el siguiente problema. Al tratar de calcular el tiempo de servicio de una persona, se me pierden 26 dias. Este problema se presenta cuando la fecha inicial es anterior al año 2000 y la fecha de control es posterior al año 2000. Me podrian dar alguna idea de como solucionar ese problema.
Anexo el codigo que estoy utilizando:
DecodeDate(FecIngreso.Date, an, mn, dn);
DecodeDate(Now, ahoy, mhoy, dhoy);
if (dn > dhoy) then
begin
rd1 := 30 + dhoy - dn;
rm1 := rm1 - 1
end
else rd1 := dhoy - dn;
mhoy := mhoy + rm1;
if (mn > mhoy) then
begin
rm1 := 12 + mhoy - mn;
ra1 := ra1 - 1;
end
else rm1 := mhoy - mn;
ra1 := ra1 + ahoy - an;
|