Chào buổi tối,
Tôi thích chỉ có một phương thức mở rộng đơn giản:
Date.prototype.startOfWeek = function (pStartOfWeek) {
var mDifference = this.getDay() - pStartOfWeek;
if (mDifference < 0) {
mDifference += 7;
}
return new Date(this.addDays(mDifference * -1));
}
Bạn sẽ nhận thấy điều này thực sự sử dụng một phương thức mở rộng khác mà tôi sử dụng:
Date.prototype.addDays = function (pDays) {
var mDate = new Date(this.valueOf());
mDate.setDate(mDate.getDate() + pDays);
return mDate;
};
Bây giờ, nếu tuần của bạn bắt đầu vào Chủ nhật, hãy chuyển vào "0" cho tham số pStartOfWeek, như vậy:
var mThisSunday = new Date().startOfWeek(0);
Tương tự, nếu tuần của bạn bắt đầu vào thứ Hai, hãy chuyển vào "1" cho tham số pStartOfWeek:
var mThisMonday = new Date().startOfWeek(1);
Trân trọng,