Selamat malam,
Saya lebih suka hanya memiliki metode ekstensi sederhana:
Date.prototype.startOfWeek = function (pStartOfWeek) {
var mDifference = this.getDay() - pStartOfWeek;
if (mDifference < 0) {
mDifference += 7;
}
return new Date(this.addDays(mDifference * -1));
}
Anda akan melihat ini sebenarnya menggunakan metode ekstensi lain yang saya gunakan:
Date.prototype.addDays = function (pDays) {
var mDate = new Date(this.valueOf());
mDate.setDate(mDate.getDate() + pDays);
return mDate;
};
Sekarang, jika minggu Anda dimulai pada hari Minggu, berikan "0" untuk parameter pStartOfWeek, seperti:
var mThisSunday = new Date().startOfWeek(0);
Demikian pula, jika minggu Anda dimulai pada hari Senin, berikan "1" untuk parameter pStartOfWeek:
var mThisMonday = new Date().startOfWeek(1);
Salam,