【发布时间】:2017-10-19 06:36:54
【问题描述】:
这是我正在处理的代码:
function populateDates() {
var start = new Date(2017, 7, 13);
var end = new Date(2017, 8, 3);
var tempDate = start;
var endPlus90 = end.setDate(end.getDate() + 90);
var today = new Date();
var array = [];
for(var d = start; d < today || d < endPlus90; d.setDate(d.getDate() + 1)){
if (d.getDay() !== 0 && d.getDay() !== 6){
array.push([d]);
}
}
return array;
}
var future = new Date();
future.setDate(future.getDate() + 90);
console.log(populateDates(new Date(), future));
基本上,我想要做的是,给定一个任意的开始和结束日期,生成一个日期列表,不包括周末,从开始日期到结束日期后 90 天,或当前日期,以两者为准更早。当前函数生成一个数组,该数组是结束日期后 90 天的所有相同日期。我对 Javascript 不是很熟悉,所以我不确定这里出了什么问题。我怀疑我将变量推送到数组的方式不正确。
【问题讨论】:
-
你试过调试吗?
-
您能否在 Question 中的函数中包含示例
start和end参数?见stackoverflow.com/help/mcve -
@giant 敌人间谍,你的问题不清楚。你什么时候需要停止推日期?在结束日期或开始日期后 90 天(哪个更小)?
标签: javascript arrays date