Ver Mensaje Individual
  #4  
Antiguo 07-10-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 31
Lepe Va por buen camino
Dependiendo de cómo aborde la cuestion, puede ser muy sencillo el tema.

Como sabemos una fecha es un Flotante, la parte entera indica los días transcurridos desde el inicio del calendario (01/01/1900) y la parte fraccionaria es la hora transcurrida desde media noche.

Si a una fecha le sumamos un número entero, estamos sumando días, y no importa si el mes tiene 28 ó 31 días; la fecha resultante será una fecha válida.

Lo principal es entender la forma que quiere el cliente, me explico, si quiere sumar 1 mes a la fecha... pues vale, pero: ¿cuantos días se debe sumar? (Enero 31 días, Febrero 28 días, Marzo 30) ¿Cuantos días se debe sumar realmente?

Las rutinas:

IncDay
IncMonth
IncYear

simplemente suma la cantidad que se le pase por parámetro y garantiza que el resultado será una fecha válida, pero ¿realmente es lo que necesita tu cliente?

Ejemplo:
Desde el 15/01/2000 hasta el 15/02/2000 no van los mismos días de préstamo que desde el 15/02/2000 hasta el 15/03/2000 porque puede ser bisiesto, porque el mes tiene 28 días, etc.


Si no recuerdo mal, estan las rutinas
DaysInYear
DaysInAYear
etc. (mira la unidad DateUtils entera, tiene muy buenas rutinas)

Pasando todo a días y sumando jamás tendrás problemas.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita