2012-07-05 18 views
11
var myDate = new Date(); 
var endtime= new Date(myDate.getDate()+1,23:59:59); 
alert(endtime); 

dlaczego nie ma wartości czasu zakończenia? jeśli chcę dodać 1 dzień 10 godzin 50 minut 30 sekund do chwili obecnej, jak wykonać kod czasu zakończenia? DziękujęJak dodać dni do daty obecnej w javascript?

+1

wyboru tego wątku [dodatek liczba-dni- to-todays-date] (http://stackoverflow.com/questions/3818193/how-to-add-number-of-days-to-todays-date) –

+0

Nie zapomnij o awansie i zaznacz odpowiedź jako zaakceptowaną, jeśli masz informacje, których potrzebujesz .......... –

Odpowiedz

12

spróbować jednego z dwóch sposób będzie pracować dla Ciebie ...

function addDays(myDate,days) { 
return new Date(myDate.getTime() + days*24*60*60*1000); 
} 

DEMO1

lub

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

DEMO2

+0

dlaczego 24 * 60 * 60 * 1000 ostatnia liczba mnoga to 1000? Dziękuję Ci. – 250091017

+1

@ 250091017, ponieważ wartość jest w milisekundach (1000 milisekund na sekundę). –

6

spróbować tej

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

Trzeba będzie dodać dni w milisekundach:

var tomorrow = new Date(Date.now() + 1 * 24*3600*1000); 

oczywiście można dodać różne ilości czasu, po prostu trzeba się liczyć go w milisekundach przy użyciu konstruktora Date lub ustawić/getTime().

Można również ustawić różne jednostki jeden po drugim z użyciem właściwych im Date methods:

var sometime = new Date; // now 
sometime.setDate(sometime.getDate() + numberOfDays); 
sometime.setHours(sometime.getHours() + numberOfHours); 
sometime.setMinutes(sometime.getMinutes() + numberOfMinutes); 
... 

Nie można ustawić daty z wartości typu float, zostanie on obcięty podczas beeing konwertowana na liczbę całkowitą .

ale metody setter wyższe niż milisekund oraz wyższe niż data mieć atrybuty opcjonalne, dzięki czemu można połączyć ustawienie:

var sometime = new Date; // now 
sometime.setFullYear(
    sometime.getFullYear() + numberOfYears, 
    sometime.getMonth() + numberOfMonths, 
    sometime.getDate() + numberOfDays 
); 
sometime.setHours(
    sometime.getHours() + numberOfHours, 
    sometime.getMinutes() + numberOfMinutes, 
    ... 
); 
0

zawsze stworzyć 7 funkcji, aby pracować z datą w JS: addSeconds, addMinutes , addHours, addDays, addWeeks, addMonths, addYears.

można zobaczyć przykład tutaj: http://jsfiddle.net/tiagoajacobi/YHA8x/

Jak używać:

var now = new Date(); 
console.log(now.addWeeks(3)); 

To są funkcje:

 Date.prototype.addSeconds = function(seconds) { 
      this.setSeconds(this.getSeconds() + seconds); 
      return this; 
     }; 

     Date.prototype.addMinutes = function(minutes) { 
      this.setMinutes(this.getMinutes() + minutes); 
      return this; 
     }; 

     Date.prototype.addHours = function(hours) { 
      this.setHours(this.getHours() + hours); 
      return this; 
     }; 

     Date.prototype.addDays = function(days) { 
      this.setDate(this.getDate() + days); 
      return this; 
     }; 

     Date.prototype.addWeeks = function(weeks) { 
      this.addDays(weeks*7); 
      return this; 
     }; 

     Date.prototype.addMonths = function (months) { 
      var dt = this.getDate(); 

      this.setMonth(this.getMonth() + months); 
      var currDt = this.getDate(); 

      if (dt !== currDt) { 
       this.addDays(-currDt); 
      } 

      return this; 
     }; 

     Date.prototype.addYears = function(years) { 
      var dt = this.getDate(); 

      this.setFullYear(this.getFullYear() + years); 

      var currDt = this.getDate(); 

      if (dt !== currDt) { 
       this.addDays(-currDt); 
      } 

      return this; 
     };