》約束:結束時間endTime>開始時間startTime
》思路:之前總是會遺漏掉很多種情況,所以列舉出各種情況,發現其規律:
1.年-月:(endTime.getYear()-startTime.getYear())*12
2.月-月:endTime.getMonth()-startTime.getMonth(),該情況會出現負數情況
3.日-月:該例中時間具體到分,先將小時和分換算成天,再統計成月。
如果 endTime.getDate()>=startTime.getDate(),則為0,否則為-1

》代碼實現
1 function monDiff(startTime,endTime){ 2 startTime=new Date(startTime); 3 endTime=new Date(endTime); 4 var date2Mon; 5 var startDate=startTime.getDate()+startTime.getHours()/24+startTime.getMinutes()/24/60; 6 var endDate=endTime.getDate()+endTime.getHours()/24+endTime.getMinutes()/24/60; 7 if(endDate>=startDate){ 8 date2Mon=0; 9 }else{ 10 date2Mon=-1; 11 } 12 return (endTime.getYear-startTime.getYear())*12+endTime.getMonth-startTime.getMonth()+date2Mon; 13 }
