Есть начальная дата и есть конечная дата, тобишь есть временной отрезок.
Нужно узнать сколько месяцев уместилось во временном отрезке с учетом высокосных и невысокосных годов, включая месяцы начальной и конечной даты.
Придумал вот такое вот чудо
var day=(1000*60*60*24),
startTime=new Date().getTime(),
endTime=startTime+day*prompt("количество дней от сегодняшнего дня:","0");
function monthCount(startTime,endTime){
var oldMonth="",
mCount=0,
day=(1000*60*60*24),
month;
while(startTime<endTime){
month=(new Date(startTime)).getMonth();
if( month!=oldMonth) mCount++;
oldMonth=month;
startTime=startTime+day;
}
return mCount;
}
alert(monthCount(startTime,endTime));
Если кто-то предложит чего нибудь круче, тому респект