如何添加工作日到日期
How can I add week days to date?
下面的代码是否适用于所有可能的情况下添加工作日?例如,如果我在"星期四"上加 4 天,结果应该是下一个"星期三"。
我正在尝试在给定的一天之后获得第 n 个工作日(工作日)。
var addOneDay=function(date) {
var result = new Date(date.getTime());
result.setDate(result.getDate() + 1);
return result;
};
var addWeekDays = function(date,days) {
var result = new Date(date.getTime());
for (var i = 0; i < days; i++) {
do{
result = addOneDay(result);
}while( result.getDay()=== 6 || result.getDay()=== 0);
};
return result;
};
var date = new Date(2016,1,18);
console.log(addWeekDays(date,4));
根据ElenaDBA和Felix Kling的建议重新设计了代码:
var addWeekDays = function(date,days) {
var result = new Date(date.getTime());
for (var i = 0; i < days; i++) {
result.setDate(result.getDate() + 1);
if (result.getDay()=== 6 || result.getDay()=== 0) i--;
};
return result;
};
var date = new Date(2016,1,18);
console.log(addWeekDays(date,4));
这样的事情怎么样?
var addOneDay = function (date) {
var result = new Date(date.getTime());
result.setDate(result.getDate() + 1);
return result;
};
var addWeekDays = function (date, days) {
var result = new Date(date.getTime());
var counter = 1;
while(counter <= days) {
if (result.getDay() !== 6 && result.getDay() !== 0) {
counter = counter +1;
}
result = addOneDay(result);
};
return result;
};
var date = new Date(2016, 1, 18);
console.log(addWeekDays(date, 4));
在本例中,输入日期为 2/18/2016,输出为 2/24/2016,就像您想要的那样
相关文章:
- 在Javascript中计算两个日期之间的工作日,节假日除外
- 如何从用户输入的日期中获取工作日
- 在jquery日期选择器中禁用日期和特定工作日
- 带额外日期的工作日Javascript
- 如何在javascript中根据周数、工作日和年份获取日期
- 如何计算'工作日'使用moment.js在Javascript中的两个日期之间
- 如何在javascript中获取当前日期的第n个工作日
- 使用 Javascript 从日期中减去工作日
- 如何添加工作日到日期
- 时刻 js 在给定指定工作日的情况下获取下一个日期
- 如何获取特定工作日的日期,然后格式化
- 使用 MomentJS 获取两个日期之间的工作日
- 计算日期之间特定工作日的数量
- 隐藏具体日期,只显示工作日
- 确定日期是周末还是工作日
- 在Javascript中计算日期之间的特定工作日并排除假日
- 自定义工作日日期验证需要实现或识别区域性
- Javascript Date()对于某些日期返回错误的工作日
- 动态获取特定工作日最后发生的日期
- 在日期选择器中启用一天作为工作日