if (!Date.prototype.getWeek) {
Date.prototype.getWeek = function () {
var date = this;
var dateFirst = new Date(date.getFullYear(), 0, 1);
var wd = dateFirst.getDay(); // Sunday - Saturday : 0 - 6
var offset = 0;
if (wd === 0) offset = 1;
else if (wd > 1) offset = 7 - wd;
console.log(dateFirst, wd, offset);
var diffTime = Math.abs(date - dateFirst);
var diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24)) - offset;
var weekNumber = Math.ceil(diffDays / 7);
return weekNumber;
};
}
(new Date(2022,0,3)).getWeek() // ritorna 1
(new Date(2022,0,9)).getWeek() // ritorna 1
(new Date(2022,0,10)).getWeek() // ritorna 2
(new Date(2022,11,31)).getWeek() // ritorna 52
Data:
Settimana: