Определение года недели
Посмотрите на год после 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?
2 ответа
Решение
Я нашел проблему в datejs
трекер с этой же проблемой. Это с 2011 года, хотя оно все еще помечено как новое: проблема setWeek
Что касается вашего вопроса: "Я неправильно истолковал, как должна работать функция setWeek?" Я бы сказал, что это ошибка в jdate
код.
Если вы посмотрите на исходный код datejs, вы увидите, что setWeek
всегда будет двигаться в понедельник целевой недели n
:
Date.prototype.setWeek = function (n) {
return this.moveToDayOfWeek(1).addWeeks(n - this.getWeek());
};