JS Date添加1周的问题

Nat*_* L. 2 javascript date

我有一个问题,并想知道是否有人可以给我一些关于原因的见解.以下代码正在向一个日期添加一周:

while (c.getStamp() < b.getStamp()) {
    var f = this.getWeek(c);
    e.push(f);
    c = (c.getStamp() + 604800).toDate();
}

...

Date.prototype.getStamp = function() {
    return Math.round(this.getTime() / 1e3);
};

Number.prototype.toDate = function() {
    return new Date(this * 1e3);
};
Run Code Online (Sandbox Code Playgroud)

我试图让以下工作,但它创建一个连续循环:

while (c.getStamp() < b.getStamp()) {
    var f = this.getWeek(c);
    e.push(f);
    c = new Date(c.getFullYear(), c.getMonth(), c.getDate + 7, 0, 0, 0);
}
Run Code Online (Sandbox Code Playgroud)

哪里c = JS Date, ie 05/01/12b = JS Date, ie 05/31/12

Nie*_*sol 5

你错过了()之后c.getDate.

除此之外,您可以这样做:

c.setTime(c.getTime()+7*24*60*60*1000); // adds 1 week to the date
Run Code Online (Sandbox Code Playgroud)