Добрый вечер,
Я предпочитаю просто использовать простой метод расширения:
Date.prototype.startOfWeek = function (pStartOfWeek) {
var mDifference = this.getDay() - pStartOfWeek;
if (mDifference < 0) {
mDifference += 7;
}
return new Date(this.addDays(mDifference * -1));
}
Вы заметите, что на самом деле используется другой метод расширения, который я использую:
Date.prototype.addDays = function (pDays) {
var mDate = new Date(this.valueOf());
mDate.setDate(mDate.getDate() + pDays);
return mDate;
};
Теперь, если ваши недели начинаются в воскресенье, передайте «0» для параметра pStartOfWeek, например:
var mThisSunday = new Date().startOfWeek(0);
Аналогично, если ваши недели начинаются в понедельник, передайте «1» для параметра pStartOfWeek:
var mThisMonday = new Date().startOfWeek(1);
С уважением,