Delphi - Meses entre 2 fechas

 
Vista:

Meses entre 2 fechas

Publicado por joselito (177 intervenciones) el 23/03/2005 07:14:49
Hola, amigos...
Necesito calcular los meses que han pasado desde 2 fechas, ya que Delphi no lo hace bien con MonthsBetween y con MonthSpan, ya que cada mes tiene un número de días diferente.
Esto es, por ejemplo, necesito saber los meses que han pasado desde el 01/01/2005 y el 06/02/2005 sería 1 mes, ya que de Enero a Febrero es 1 mes, independientemente que el día en Febrero sea 06 y en Enero 01. El caso es que es 1 mes desde Enero a Febrero. Otro ejemplo sería, si las fechas son 25/05/2005 y 26/02/2006, me tendría que devolver 10 meses (desde Mayo del 2005 a Febrero del 2006), independientemente de los días... ¿Hay alguna función ya predeterminada que lo haga?.. y si no... ¿Tienen alguna idea de cómo hacerlo?
Muchas gracias.
Un saludo
JOSE.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Meses entre 2 fechas

Publicado por boychamp (3 intervenciones) el 23/03/2005 09:17:56
prueba con
monthof(fecha1) - monthof(fecha2)
donde fecha1>=fecha2

monthof está en la unit DATEUTILS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Meses entre 2 fechas

Publicado por boychamp (3 intervenciones) el 23/03/2005 09:29:34
monthof te servirá entre fechas del mismo año.
para fechas distintas prueba esto...

if yearof(fecha1) = yearof(fecha2) Then
(monthof(fecha1) - monthof(fecha2))
Else if yearof(fecha1) > yearof(fecha2) Then
((12 - monthof(fecha2)) + monthof(fecha1))
else if yearof(fecha1) < yearof(fecha2) Then
((monthof(fecha2) + (12 - monthof(fecha1)))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar