2012-12-07 10 views
5

Powiel możliwe:
Adding hours to Javascript Date object?Jak dodać 24 godziny na datetime przedmiotu javascript

Mam JavaScript Object datetime.

Chcę dodać 24 godziny temu datetime

dla ex.

jeśli jest 2 dec 2012 3:30:00 =>3 dec 2012 3:29:00

jeśli jest 31 dec 2012 3:30:00 =>1 jan 2013 3:29:00

itp

żadnej sugestii ????

+0

Nie próbowałem wykonać następującego kodu. Ale proszę uwierzyć w wyszukiwanie (a) http://stackoverflow.com/questions/1050720/adding-hours-to-javascript-date-object –

+0

Nie "theDate.setDate (theDate.getDate() + 1) ; 'praca? – Ian

Odpowiedz

12

Byłby to jeden ze sposobów

var myDate = new Date("2 dec 2012 3:30:00") // your date object 
myDate.setHours(myDate.getHours() + 24) 
console.log(myDate) //Mon Dec 03 2012 03:30:00 GMT+0100 (Mitteleuropäische Zeit) 
  • Date.setHours pozwala ustawić godzinę swojej Data Object
  • Date.getHours pobiera je

w tym rozwiązaniu to po prostu dostaje godzin od twój obiekt daty dodaje 24 i zapisuje je z powrotem do twojego obiektu.

Oczywiście istnieją inne możliwe sposoby osiągnięcia tego samego wyniku, np.

  • Regulacja milisekund

    • Date.getTime daje milisekund obiektu od północy 1 stycznia 1970
    • Date.setTime ustawia je

więc dodanie 24 * 60 * 60 * 1000 lub 86400000 milisekundy do Twojej daty Obje ct spowoduje tym samym Zobacz VisioN s Odpowiedź

  • Dodawanie dziennie
    • Date.getDate dostaje daty miesiącu swojej Date Object
    • Date.setDate ustawia je

Zwiększenie tego o jeden, spowoduje ponownie to samo
Jak Ian wspomniano w komentarzu

Więc jej po prostu zależy od tego, co czuje się najbardziej zrozumiałe dla Ciebie A jeśli chcesz, dać ten W3Schools examples wygląd, aby uzyskać punkt wyjścia do czynienia z datami

18

Jedno z możliwych rozwiązań:

new Date(new Date(myStringDate).getTime() + 60 * 60 * 24 * 1000); 
+1

Dlaczego nie po prostu 'var a = new Date(); a.setDate (a.getDate() + 1); '? – Ian

+0

@Ian To prawie to samo, co [Glutamat zamieszczony] (http://stackoverflow.com/a/13762964/1249581). Mój jest kolejnym możliwym rozwiązaniem. – VisioN

+0

Och, oczywiście, że oba są zdecydowanie rozwiązaniami, po prostu zastanawiam się, dlaczego nie zaproponowano rozwiązania opartego na dniach, ponieważ o to właśnie chodzi. Wszystkie zdecydowanie działają, po prostu myślałem, że '.setDate' zrobione od tamtego dnia. – Ian

Powiązane problemy