Jak dodać dni do aktualnej Daty
używając JavaScript. Czy JavaScript ma wbudowaną funkcję jak .Net's AddDay
?
Możesz go utworzyć za pomocą:-.
Date.prototype.addDays = function(days) {
var date = new Date(this.valueOf());
date.setDate(date.getDate() + days);
return date;
}
var date = new Date();
alert(date.addDays(5));
To zajmuje się automatyczną inkrementacją miesiąca, jeśli jest to konieczne. Na przykład:
8/31 + 1 dzień stanie się 9/1.
Problem z bezpośrednim użyciem setDate
polega na tym, że jest to mutator, a tego typu rzeczy najlepiej unikać. ECMA uznała za stosowne traktować Date
jako mutowalną klasę, a nie niezmienną strukturę.
var today = new Date();
var tomorrow = new Date();
tomorrow.setDate(today.getDate()+1);
Bądź ostrożny, ponieważ może to być podstępne. Kiedy ustawiasz "jutro", to działa tylko dlatego, że jego aktualna wartość pasuje do roku i miesiąca dla "dzisiaj". Jednakże, ustawienie na numer daty jak "32" normalnie nadal będzie działać dobrze, aby przenieść go do następnego miesiąca.
Te odpowiedzi wydają mi się mylące, wolę:
var ms = new Date().getTime() + 86400000;
var tomorrow = new Date(ms);
getTime() daje nam milisekundy od 1970 roku, a 86400000 to liczba milisekund w ciągu dnia. W związku z tym ms zawiera milisekundy dla żądanej daty.
Użycie konstruktora milisekund daje pożądany obiekt daty.