setDate(getDate + 30)返回错误的日期

时间:2018-03-08 13:37:23

标签: javascript

我正在尝试将前/后两周实施到我的调度程序,但它无法正常工作..这就是我尝试的内容:

this.datesArray = [];
    const currentDate: Date = new Date(this.startDate);
    const lastDate: Date = new Date(this.endDate);
    currentDate.setDate(currentDate.getDate() - 14);
    lastDate.setDate(currentDate.getDate() + 30);

    while (currentDate < lastDate) {
      // var newDate: Date = new Date(currentDate);
      this.datesArray.push(currentDate.toDateString());
      currentDate.setDate(currentDate.getDate() + 1);
    }

每次点击都会触发此代码,但存在以下问题。前两次它很好,但第三次我点击下一个,最后一个日期.SetDate错误,它增加60天而不是30.这就是我上周的意思:

previous 2 weeks example

它显示当前日期2月22日,但随后增加30天,并以某种方式显示4月21日..

有人有过类似的问题吗?

0 个答案:

没有答案