如何使用javascript找到每个月每周/工作日的相同组合
How to find the same combination of the week/weekday for each month using javascript
这是我正在尝试计算日期范围内的重复日期。我正在粘贴下面的代码,该代码仅与代码中的重复部分相关。它没有计算每个月同一天或任何模式的逻辑。它只有一个间隔。请提出一个解决方案,以从已经只包含开始日期和结束日期之间的范围的数组中找出每月between[]
同一天。
switch (true) {
case (interval == 7):
//weekly
//Push in the selected dates in the selected array.
for (var i = 0; i < between.length; i += 7) {
selected.push(between[i]);
}
break;
case (interval == 30):
//Monthly
//Push in the selected dates in the selected array.
for (var i = 0; i < between.length; i += 30) {
selected.push(between[i]);
}
break;
case (interval == 15):
//Bi-Monthly
//Push in the selected dates in the selected array.
for (var i = 1; i < between.length; i += 15) {
selected.push(between[i]);
}
break;
case (interval == 0):
//One time event
//Push in the selected dates in the selected array.
for (var i = 0; i < 1; i++) {
selected.push(between[i]);
}
break;
default:
return undefined;
}
找出下一个重复日期的标准应该是这样的:
例如,用户从 1 月的第一周选择星期三,那么下一个重复日期应该是 2 月第一周的星期三。
首先定义选定的对象Date
。
var between = [new Date(2015, 0, 11), new Date(2015, 0, 20)]
现在确定我们需要的组件。它们是:下一个日期应该什么时候开始。
var start = new Date(between[0].getFullYear(),between[0].getMonth(),between[0].getDate()+27)
它将产生下个月的开始日期和您描述的相同"日"。
将其包装为功能:
var getNextMonth = function (date, howmany){
return new Date(date.getFullYear(), date.getMonth(), date.getDate()+28*howmany);
};
var getNextMonthRange = function (between, howmany){
return [getNextMonth(between[0], howmany), getNextMonth(between[1], howmany)]
};
例
var between = [new Date(2015, 0, 11), new Date(2015, 0, 20)]; // Sunday, 11 Jan 2015 to Tuesday, 20 Jan 2015
var nextBetween = getNextMonthRange(between, 1); // Sunday, 8 Feb 2015 to Tuesday, 17 Feb 2015
我希望这就是你想要的:D
相关文章:
- 根据id将json数组组合为一个json数组
- 接受不在列表中的值-引导组合框
- 从客户端获取修改后的对象,并将其与服务器上的原始对象组合
- 组合两个javascript函数
- Telerik rad组合框多列数据绑定
- 组合 2 个 JavaScript .scroll 函数
- 如何使用jquery组合两个数组
- onChange不足以从Dojo组合框触发查询
- 组合承诺和非承诺值
- 所有控件的组合框
- 在D3中组合多个事件
- 使用AngularJS从时间戳中获取工作日
- AngularJS-如何只对多个事件的组合采取行动
- 如何在服务、技能、投资组合等方面添加滑动效果
- 以编程方式填充组合框道场 (1.8) 的最佳方法是什么?
- 如何在谷歌可视化中组合数字和模式格式化程序
- 更改组合框分页后,getValue和getRawValue返回相同的值
- 类型错误:url未定义extjs 4正在填充组合框
- 我该如何组合这两个Greasemonkey脚本
- 如何使用javascript找到每个月每周/工作日的相同组合