Jak získat první a poslední den aktuálního týdne v JavaScriptu

Mám today = new Date(); objekt. Potřebuji získat první a poslední den aktuálního týdne. Potřebuji obě varianty na neděli a pondělí jako začátek a konec týdne. Teď jsem trochu zmatený s kódem. Můžete mi pomoci?

Odpověď

var curr = new Date; // get current date
var first = curr.getDate() - curr.getDay(); // First day is the day of the month - the day of the week
var last = first + 6; // last day is the first day + 6

var firstday = new Date(curr.setDate(first)).toUTCString();
var lastday = new Date(curr.setDate(last)).toUTCString();

firstday
"Sun, 06 Mar 2011 12:25:40 GMT"
lastday
"Sat, 12 Mar 2011 12:25:40 GMT"

Toto funguje pro první den =neděli tohoto týdne a poslední den =sobotu pro tento týden. Prodloužit jej na spuštění od pondělí do neděle je triviální.

Aby to fungovalo s prvním a posledním dnem v různých měsících, je ponecháno jako cvičení pro uživatele