2015-02-24 45 views
0

我用下面的JS函數來計算今天之間的天在今後的差異,一天:JavaScript的天差函數輸出錯誤天

var oneDay = 24 * 60 * 60 * 1000; 
var today = new Date(); 
var futureDay = new Date(futureDate); 
var diffDays = Math.round(Math.abs((today.getTime() - futureDay.getTime())/(oneDay))); 

我的問題:當今天futureDate是,我得到的結果「1」,如果是明天,我會得到「0」。

這個功能有什麼問題?

+2

是什麼futureDate的價值? – 2015-02-24 16:54:27

+0

如果是明天,futureDay將是'new Date(2015,02,25)' – Max 2015-02-24 16:56:00

+0

您的'futureDay'在午夜初始化。你奇怪的舍入方案導致這些結果。 – Bergi 2015-02-24 16:59:43

回答

0

嘗試這種方式,您沒有設置future date

var oneDay=1000 * 3600 * 24; 
var dateToday = new Date("02/24/2015"); //or just, new Date(); 
var dateFuture = new Date("02/25/2015"); // set here future date like this 
var timeDiff = Math.abs(dateFuture.getTime() - dateToday.getTime()); 
var diffDays = Math.ceil(timeDiff /oneDay); 
alert(diffDays);