在JavaScript 中產生給定範圍內的日期數組
在JavaScript 中,您可能會遇到需要創建介於兩個指定的日期。這可能是一項具有挑戰性的任務,尤其是在處理月份和年份邊界時。
為了解決這個問題,讓我們來探索使用 JavaScript 的 Date 物件的解決方案。
用於添加天數的自訂擴展到日期
首先,我們將擴展 Date 原型以包含 addDays() 方法。此方法將天數新增至日期並傳回反映調整後的日期的新 Date 物件。
Date.prototype.addDays = function(days) { var date = new Date(this.valueOf()); date.setDate(date.getDate() + days); return date; }
取得日期陣列的函數
接下來,我們將定義一個名為getDates() 的函數,該函數接受兩個Date 物件作為參數:一個startDate 和一個stopDate.
function getDates(startDate, stopDate) { var dateArray = new Array(); var currentDate = startDate; while (currentDate <= stopDate) { dateArray.push(new Date (currentDate)); currentDate = currentDate.addDays(1); } return dateArray; }
實作
此函數初始化一個名為dateArray 的空數組。然後,它從 startDate 開始,並使用 addDays() 方法一次向前移動一天,直到達到或超過 stopDate。對於每個有效日期,它都會為 dateArray 新增一個新的 Date 物件。
以下程式碼示範了這些函數的用法:
var range = getDates(new Date(), new Date().addDays(7));
此程式碼建立一個表示日期物件的陣列從今天到今天之後 7 天(包括今天)之間的天數。 range 變數將包含一個日期物件陣列。
示範
您可以在 http://jsfiddle.net/jfhartsock/cM3ZU/ 嘗試此解決方案功能示範。
以上是如何在 JavaScript 中產生給定範圍內的日期陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!