setMonth()bug

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

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

var dd = new Date();

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

vary = dd.getFullYear();

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

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]);

}

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

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

推薦閱讀更多精彩內容

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