Michael K.: Zeitraum in Monaten berechnen.

Beitrag lesen

Hallo,

ich versuche einen Zeitraum in Monaten zu ermitteln, das klappt nicht so ganz zufriedenstellend. So bekomme ich etwa fuer den Zeitraum von 2009-03-29 bis 2009-06-28 als Ergebnis 4 Monate und nicht wie gewuenscht 3 Monate. Problem ist, es sollen auch Zeitraeume groesser als 12 Monate berechnet in die absolute Monatszahl umgerechnet werden. Kann mir jemand einen Tipp geben?

  
monthsBetween: function (thisDate, thatDate) {  
// thisDate ist Date Object fuer Beginn, thatDate fuer Ende des Zeitraums  
        if (thisDate > thatDate) {  
            return xbrladdon.string.monthsBetween(thatDate, thisDate);  
        }  
        var number = 0;  
        if (thatDate.getFullYear() > thisDate.getFullYear()) {  
            number = number + (thatDate.getFullYear() - thisDate.getFullYear() - 1) * 12;  
        } else {  
            return thatDate.getMonth() - thisDate.getMonth();  
        }  
        if (thatDate.getMonth() > thisDate.getMonth()) {  
            number = number + 12 + thatDate.getMonth() - thisDate.getMonth();  
        } else {  
            number = number + (12 - thisDate.getMonth()) + thatDate.getMonth();  
        }  
        return number;  
    },  
  

Dankbar fuer Loesungsvorschlaege,
Gruss Michael