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