2011-02-01 22 views

Odpowiedz

29

Musisz użyć getDate() i setDate() metody obiektu Date, który odpowiednio pobrać i ustawić wartość określająca dzień.

var date = new Date(); 
date.setDate(date.getDate() + 1); 

Check the MDC Date object reference uzyskać więcej informacji na temat pracy z datami

+4

Jeśli zostanie zastosowany czas letni i jeśli następny dzień zostanie przesunięty w przód/w tył, nastąpi przerwa. Tak więc właściwym rozwiązaniem byłoby date.setTime (date.getTime() + 86400000); – venkatagiri

+0

Miałem też problem, że jeśli data była na koniec miesiąca, nadal chciała iść jeden dzień po dniu miesiąca. Tak więc grudzień miałby 32 dni. Rozwiązanie Pablo poniżej działa. – cbloss793

+0

poprawna odpowiedź jest poniżej. –

6

Spróbuj tego:

//create the date 
var myDate = new Date(); 

//add a day to the date 
myDate.setDate(myDate.getDate() + 1); 
+0

Nie będzie to przerwa w ostatnim dniu miesiąca? Używałem czegoś podobnego i to by zwróciło dzień "32" w dniu 31. – Darren

+0

@dkrape: nie, nie będzie. –

2
dt = new Date(); 
dt.setDate(dt.getDate() + 1); 
38

To będzie jutrzejszą datę:

var a = new Date((new Date()).valueOf() + 1000*3600*24); 
+1

Żałuję, że nie mam więcej głosów upvotes. Uważam, że jest to jedyna, która będzie nadal działać w ostatnim dniu miesiąca. Inni powiedzą, że powrócą "32" 31 dnia miesiąca. – Darren

+2

Dobra odpowiedź, łatwiej jest powiedzieć: nowa data ((nowa data()). WartośćOf() + 86400000) lub jest ona podzielona na nową datę ((nowa data()). WartośćOf() + 24 * 60 * 60 * 1000) gdzie masz 24 godziny * 60 minut * 60 sekund * 1000 millisconds – MarzSocks

1

Jeśli przez "dodaj 1 dnia do niej" znaczy „dodać 24 godziny ", to znaczy, dodaj 24 * 60 * 60 * 1000 milisekund do obiektu daty JavaScript, wtedy prawidłowe rozwiązanie to:

var d = new Date(); 
d.setTime(d.getTime() + 86400000); 
console.log('24 hours later'); 
console.log(d); 

Jak zaznaczył @venkatagiri we wcześniejszym komentarzu, w rzeczywistości doda to 24 godziny do bieżącego obiektu daty JavaScript we wszystkich scenariuszach, podczas gdy d.setDate(d.getDate() + 1) NIE będzie, jeśli włączy się przenikanie czasu letniego. Zobacz this JSFiddle, aby zobaczyć różnicę w kontekście rozpoczęcia DST w 2013 r. (10 marca 2013 r. O godzinie 2:00 czasu lokalnego DST przesunięto o godzinę do przodu). setDate() w tym scenariuszu dodaje tylko 23 godzin, podczas gdy setTime() dodaje 24.

0
var d = new Date(); 

var curr_date = d.getDate(); 

var n =curr_date; 

jQuery(".class_name:eq(0)").text(n); 

var m =[d.getDate()+1]; 

jQuery(".class_name:eq(1)").text(m); 
+2

Może trochę wyjaśnienia byłoby miło również –