2013-03-12 338 views
2

我試圖計算兩個日期之間的日子,但我不想只是天差異,我什麼是寫一個腳本,以顯示在這兩個給定的日期之間的所有實際日期.. 比如我有兩個日期:jquery給定日期之間的差異

3/12/20133/15/2013

我想以某種方式得到這些日期:3/12/2013, 3/13/2013, 3/14/2013, 3/15/2013

這裏是代碼IVE寫但這只是返回天

的區別
$(document).ready(function() { 

    var From = "03-12-2013"; 
    var To = "03-15-2013"; 
    var d1 = jQuery.datepicker.parseDate("mm-dd-yy", From); 
    var d2 = jQuery.datepicker.parseDate("mm-dd-yy", To); 

    var diff = 0; 
    if (d1 && d2) { 
     diff = Math.floor((d2.getTime() - d1.getTime())/86400000); // ms per day 
    } 
    console.log(diff); 
}); 

謝謝

+0

我真的不知道,但日期選擇器,如果有到或。減去添加一天日期的方式,你可以嘗試從循環一次約會到另一個,每次加/減去一個白天和節約該修改日期。但是在API文檔中快速查看後,我找不到這樣的東西,但也許你知道。 – 2013-03-12 10:05:01

回答

1

不看日期選擇器(也許還有一個方法已經給你所需要的),根據你的代碼,你可能只是做這樣的事情:

var milisperday = 86400000, 
    days = [], 
    offset = (d1<d2)?d1:d2; 

for (var i = 1;i<=diff;i++){ 
    days.push(new Date(offset.getTime() + milisperday * i)); 
} 

console.log(days); 

現在days是一個包含所需日期作爲日期對象的數組。

Example

+0

謝謝answer.i設法讓它工作,問題是它「認爲」所有的月份都有30天,所以如果我試圖找出30/03/2013和05/04/2013之間的差異,給我看4天,和01/04/2013和05/04/2013一樣 – 2013-03-12 11:12:58

+0

@ lucky13適合我:http://jsfiddle.net/7tQ4B/ – Christoph 2013-03-12 11:16:03

+0

在jsfiddle鏈接中,我只在控制檯中獲得了這個[] – 2013-03-12 11:21:31