0

看看setWeek之后的一年

d = Date.today() 
Wed Dec 26 2012 00:00:00 GMT+0000 (GMT Standard Time) 
d.getWeek() 
52 
d.setWeek(52) 
Mon Dec 23 2013 00:00:00 GMT+0000 (GMT Standard Time)

有谁知道这是怎么回事?我是否误解了 setWeek 函数的工作方式?

4

2 回答 2

0

我在datejs跟踪器中发现了同样的问题。它是从 2011 年开始的,尽管它仍然被标记为的:setWeek 问题

所以关于你的问题“我是否误解了 setWeek 函数应该如何工作?” 我会说这是jdate代码中的错误。

于 2012-12-26T13:16:26.923 回答
0

如果您查看 datejs 源代码,您会发现它setWeek总是会移动到目标周的星期一n

Date.prototype.setWeek = function (n) {
  return this.moveToDayOfWeek(1).addWeeks(n - this.getWeek());
};

见:datejs:svn/trunk/src/core.js

于 2014-06-06T10:30:32.027 回答