在 JavaScript 中计算工作日周期

Counting weekday cycles in JavaScript

本文关键字:工作日 周期 计算 JavaScript      更新时间:2023-09-26

我的学校以7天为周期运行,所以如果今天(2016/02/26)是第1天,明天将是第0天,星期一将是第2天,第二天1将是2016/03/08。我知道这很奇怪,但我正在尝试找到一种方法来使用 JavaScript 中的 Date 对象并添加一个周期,即 7 天,不包括周末。

我想强调的是,周末不计入天数。我正在尝试找到一种方法来省略周末并轻松找到第二天 1 或第 5 天或其他什么。

在为期 1 天的学校周期中有 2 个或 7 个周末,具体取决于周期的开始日期,因此实际周期长度为 9 天或 11 天。 Date.getDay() 方法允许您访问星期几,因此可能的解决方案可能如下所示:

var myDate= new Date();
switch(true) {
//Sunday=0, Saturday=6
case(myDate.getDay() % 6 == 0) :  alert('weekend!'); return;
case (myDate.getDay() < 4) :  // Mon, Tues, Wed
    myDate.setDate(myDate.getDate() + 9);
    break;
case (myDate.getDay() < 6) :  // Thu, Fri
    myDate.setDate(myDate.getDate() + 11);
    break;
}