【发布时间】:2017-09-15 03:54:46
【问题描述】:
我遇到了在 JavaScript 中排除周末日期的问题。出于我的业务需求,我想在每周的周五、周六和周日从日期对象中排除 3 天。我需要的是周五的值应该显示为周一, 周六为周二,周日为周三。我能做到。
我在这里面临的问题是,当我们运行上面的示例时,a[0] 值应该是 21-SEP-2017 但我得到的是 20-SEP-2017 并且剩余的数组值不应该改变。所以请帮我解决这个问题
var a = ["21-SEP-2017", "22-SEP-2017", "23-SEP-2017", "24-SEP-2017", "25-SEP-2017"];
for (i = 0; i < a.length; i++) {
var startDate = a[i];
startDate = new Date(startDate.replace(/-/g, "/"));
var endDate = "",
noOfDaysToAdd = 1;
var count = 0;
endDate = new Date(startDate.setDate(startDate.getDate()));
if (startDate.getDay() != 0 && startDate.getDay() != 5 && startDate.getDay() != 6) {
endDate = new Date(startDate.setDate(startDate.getDate() + i - 1));
} else {
startDate.setDate(startDate.getDate() + 3)
endDate = new Date(startDate.setDate(startDate.getDate()));
}
console.log(endDate); //You can format this date as per your requirement
}
【问题讨论】:
-
酷。你试过什么?你在哪里卡住了?你熟悉 moment.js 这样的库吗?
-
这是我的数组 var a = ["21-SEP-2017","22-SEP-2017","23-SEP-2017","24-SEP-2017","25 -SEP-2017"] 我希望输出日期为 21-SEP-2017,25-SEP-2017,26-SEP-2017,27-SEP-2017,28-SEP-2017
标签: javascript date