2016-10-18 6 views
-1

Ich versuche, eine bestimmte Anzahl von Tagen zu currentDate hinzufügen. Aber das Datum ist etwas seltsam. Das gleiche Datum, wenn ich versuche, mit der Anzahl der Tage zu subtrahieren, funktioniert es gut. Auch wenn ich den Wert hardcoding, anstatt es von document.getElementById zu nehmen, funktioniert es gut. S.: document.getElementById gibt den richtigen Wert zurück.New Date.getDate() funktioniert nicht beim Hinzufügen von Tagen in Javascript

var someDateForFuture = new Date(); 
var numberOfDaysToCalculateForFuture = document.getElementById('futureDateCal').value; 
someDateForFuture.setDate(someDateForFuture.getDate() + numberOfDaysToCalculateForFuture); 
alert(someDateForFuture); 

Nun, wenn ich 3 Anzahl der Tage des aktuellen Datum hinzugefügt haben, die Warnung angezeigt

Sa 1. April 2017 11.23.57 GMT + 0530 (Indien Normalzeit)

Bitte führen Sie.

+0

Wie kann das doppelte sein. Ich frage nicht, wie ich die Anzahl der Tage hinzufügen soll. Ich habe Problem beim Hinzufügen von Anzahl von Tagen – Luxy

+0

seine Arbeit in meinem Fall – Mahi

+0

https://jsbin.com/zasolefumi/edit?html,output – Mahi

Antwort

2

Versuchen Sie, diese Logik sollte in diesem Fall funktionieren.

var someDateForFuture= new Date(someDateForFuture.setTime(someDateForFuture.getTime() + numberOfDaysToCalculateForFuture* 86400000)); 
2

value kehrt eine Zeichenfolge. Zuerst es in eine Reihe machen, und dann die Werte hinzufügen:

var future = new Date(); 
var days = +(document.getElementById('futureDateCal').value); 

if (!isNaN(days)) { 
    future.setDate(future.getDate() + days); 
} 
else { 
    alert("Non-numeric input"); 
} 

alert(future); 
1

parseInt() den Wert, den Sie von html bekommen werden

var someDateForFuture = new Date(); 
var numberOfDaysToCalculateForFuture = parseInt(document.getElementById('futureDateCal').value); 
someDateForFuture.setDate(someDateForFuture.getDate() +numberOfDaysToCalculateForFuture); 
alert(someDateForFuture); 
Verwandte Themen