2011-09-27 106 views
2

我必須這樣的日期數組: [2011年6月13日,7/15/2011,7/18/2011,2011年8月13日] 我想要做的是填補之間的日期日期數組,所以如果日期之間的任何日期之間缺少像7/15/2011,7/18/2011我想添加2011年7月16日,2011年7月17日之間,有沒有一種方法或lib可以幫助做到這一點?在數組中的數據範圍之間填充日期?

+4

它是Java或JavaScript?你已經用兩種方式標記了這個問題,但是它們各自的日期對象是完全不同的。 – Barend

+0

只需一個簡單的for循環就可以完成這項工作。你的用例太狹窄了,因爲可能有一個直接爲它定製的庫。 – mellamokb

+0

@Barend Garvelink其實我不介意它是在Java還是JavaScript,其中任何一個對我都沒問題。 – Jimmy

回答

7

這應該在JavaScript中工作。它基本上只是排除了數組中間的任何日期,並生成了第一個和最後一個項目之間的所有日期。

var dates = ["6/13/2011", "7/15/2011", "7/18/2011", "8/13/2011"]; 

var minDate = new Date(dates[0]).getTime(), 
    maxDate = new Date(dates[dates.length - 1]).getTime(); 

var newDates = [], 
    currentDate = minDate, 
    d; 

while (currentDate <= maxDate) { 
    d = new Date(currentDate); 
    newDates.push((d.getMonth() + 1) + '/' + d.getDate() + '/' + d.getFullYear()); 
    currentDate += (24 * 60 * 60 * 1000); // add one day 
} 

console.log(newDates); 
+0

真棒,謝謝!只需替換currentDate = min,使用currentDate = minDate, – Jimmy

+0

趕上min/minDate錯字。我試圖清理變量名並錯過了它。感謝你的接納! – jmar777

相關問題