var range = getDates(new Date(), new Date().addDays(7));
我希望"range“是一个date对象数组,两个date之间的每一天一个。
诀窍在于,它还应该处理月份和年份的界限。
发布于 2010-12-11 06:47:12
function (startDate, endDate, addFn, interval) {
addFn = addFn || Date.prototype.addDays;
interval = interval || 1;
var retVal = [];
var current = new Date(startDate);
while (current <= endDate) {
retVal.push(new Date(current));
current = addFn.call(current, interval);
}
return retVal;
}
发布于 2010-12-11 06:07:12
Date.prototype.addDays = function(days) {
var date = new Date(this.valueOf());
date.setDate(date.getDate() + days);
return date;
}
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;
}
下面是一个功能强大的demo http://jsfiddle.net/jfhartsock/cM3ZU/
发布于 2015-07-07 01:13:57
试试这个,记住要包含moment js,
function getDates(startDate, stopDate) {
var dateArray = [];
var currentDate = moment(startDate);
var stopDate = moment(stopDate);
while (currentDate <= stopDate) {
dateArray.push( moment(currentDate).format('YYYY-MM-DD') )
currentDate = moment(currentDate).add(1, 'days');
}
return dateArray;
}
https://stackoverflow.com/questions/4413590
复制相似问题