setMonth()bug

最近在做一個需求,是獲取當(dāng)前月份的前五個月,我就想到了一個方法,就是是用setMonth()方法,把它設(shè)置為想要的月份

for(var i=0;i<5;i++){

var dd = new Date();

dd.setMonth(dd.getMonth()-i);//獲取AddDayCount天后的日期,

vary = dd.getFullYear();

varm = dd.getMonth()+1;//獲取當(dāng)前月份的日期

vard =newDate(y,m,0).getDate();

if(m<10){

m ="0"+m;

}

if(d<10){

d ="0"+d;

}

this.yearAndMonth= y.toString()+"-"+m.toString();

this.startDateStr= y.toString()+"-"+m.toString()+"-01";

this.endDateStr= y.toString()+"-"+m.toString()+"-"+d.toString();

this.arrList.push([this.yearAndMonth,this.startDateStr,this.endDateStr]);

}

問題就出現(xiàn)在了黑色加粗的部分,setMonth(),第一個參數(shù)是月份,第二個為天數(shù),當(dāng)我們不設(shè)置后面的天數(shù)的時候,前面設(shè)置的月份,就會自動順延,這個是setMonth()的bug,不過如何避免這種問題呢,這就需要在setMonth()后面增加一個1,設(shè)為第一天就好了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • [Js獲取當(dāng)前日期時間及其它操作] 日期時間腳本庫方法列表 js代碼://--------------------...
    JS_swh閱讀 483評論 0 3
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,993評論 19 139
  • 文圖/月中山 這一輩子風(fēng)景很長,能陪你走下去看完風(fēng)景的人卻很少。 那些過往的景象如同南來北去的風(fēng),早已飄散在各自天...
    月中山閱讀 524評論 6 6