我有一个问题,并想知道是否有人可以给我一些关于原因的见解.以下代码正在向一个日期添加一周:
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/12和b = JS Date, ie 05/31/12
你错过了()之后c.getDate.
除此之外,您可以这样做:
c.setTime(c.getTime()+7*24*60*60*1000); // adds 1 week to the date
Run Code Online (Sandbox Code Playgroud)