欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JavaScript的月份加和问题的代码说明

程序员文章站 2022-03-08 22:37:58
javascript的date直接加month可能造成日期顺延,比如2018-05-31,直接加6个月,因为11月没有31日,就变成2018-12-01了,想和java一样变成2018-11-30,...

javascript的date直接加month可能造成日期顺延,比如2018-05-31,直接加6个月,因为11月没有31日,就变成2018-12-01了,想和java一样变成2018-11-30,如果不使用第三方库,要先把日期改成1日,然后再加月份,再设置日期才行。

function adddate1() {
    var date = new date('2018-05-31');
    date.setmonth(date.getmonth() + 6);
    console.log(date.tolocaledatestring()); // 2018/12/1
}
function adddate2() {
    var date = new date('2018-05-31');
    var olddate = date.getdate();//获取该月有多少日
    date.setdate(1);//设置为1日(day)
    date.setmonth(date.getmonth() + 6);//设置当前月份(从0开始)
    var newday= new date(date.getyear(), date.getmonth()+1, 0).getdate();//获取该月有多少日
    date.setdate(math.min(olddate, newday));
    console.log(date.tolocaledatestring()); // 2018/11/30
}