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阅读 135,026评论 19 139
  • 文图/月中山 这一辈子风景很长,能陪你走下去看完风景的人却很少。 那些过往的景象如同南来北去的风,早已飘散在各自天...
    月中山阅读 525评论 6 6