Procházejte časové období pomocí JavaScriptu

Jsou dány dvě Date() objektů, kde jeden je menší než druhý, jak mohu každý den přepínat mezi daty?

for(loopDate = startDate; loopDate < endDate; loopDate += 1)
{

}

Fungovala by taková smyčka? Ale jak mohu přidat jeden den do počítadla smyček?

Díky!

Odpověď

Zde je způsob, jak to udělat tak, že přidání jednoho dne způsobí, že se datum v případě potřeby přesune na další měsíc, a aniž byste se zabývali milisekundami. Problémem není ani letní čas.

var now = new Date();
var daysOfYear = [];
for (var d = new Date(2012, 0, 1); d <= now; d.setDate(d.getDate() + 1)) {
    daysOfYear.push(new Date(d));
}

Upozorňujeme, že pokud chcete datum uložit, budete si muset vytvořit nové (jako výše s new Date(d) ), jinak skončíte tak, že každé uložené datum bude mít konečnou hodnotu d ve smyčce.