JSFiddle - React, Tailwind, and code Playground
JavaScript
function getDateOfISOWeek(w, y) {
var simple = new Date(Date.UTC(y, 0, 1 + (w - 1) * 7));
var dow = simple.getUTCDay();
var ISOweekStart = simple;
if (dow <= 4)
ISOweekStart.setUTCDate(simple.getUTCDate() - simple.getUTCDay() + 1);
else
ISOweekStart.setUTCDate(simple.getUTCDate() + 8 - simple.getUTCDay());
return ISOweekStart;
}
function getEndOfISOWeek(d) {
var endOfISOWeek = new Date(d.getTime());
endOfISOWeek.setUTCDate(endOfISOWeek.getUTCDate() + 6);
endOfISOWeek.setUTCHours(23);
endOfISOWeek.setUTCMinutes(59);
endOfISOWeek.setUTCSeconds(59);
return endOfISOWeek;
}
var startOfWeek = getDateOfISOWeek(29,2016);
var endOfWeek = getEndOfISOWeek(startOfWeek);
console.log(startOfWeek.toUTCString(), endOfWeek.toUTCString());