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; |
Bueno, si lo que quieres es saber cuantos dias hay entre una fecha inicial y una fecha final, seguramente te servira la función DaysBetween de la unidad DateUtils, explicada mas a fondo en la siguiente dirección: http://www.delphibasics.co.uk/RTL.asp?Name=DaysBetween
|
Pq no restas las fechas directamente??
Código:
var hoy: TDateTime; |
La franja horaria es GMT +2. Ahora son las 21:04:27. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi