javascript - 计算工作日问题,javascript

标签 javascript datetime math

我有一系列用户选择的日期,如下所示:

days_selected[1] = true;
days_selected[2] = false;
days_selected[3] = false;
days_selected[4] = true;
days_selected[5] = true;
days_selected[6] = true;
days_selected[7] = true;

Key 表示工作日,如果用户检查了日期,则 true/false 表示

现在,我有当前工作日,

date_now.getDay()

假设当前工作日是星期一,1 我需要找到星期一和标记为 true 的第一天之间的天数;

我知道我可以简单地循环天数,找到当前的一天,然后继续循环,直到我偶然发现另一个真实的一天,然后减去这些值,但是我如何计算第 6 天为真,而第 7 天和第 7 天为真1 是假的,这样的话,中间也会有 2 天,我的数学很糟糕:-)

passed = false;
day = 0;
$.each( days_selected, function( key, value ) {
    if (passed == true && value == true) {
        day = key;
        return false;
    }
    if (key == date_now.getDay()) {
        passed = true;
    }
});

最佳答案

这个怎么办? (假设索引从0开始)

var today = date_now.getDay()
  , i = today + 1;

while (i % 7 != today && !days_selected[i % 7]) {
  i += 1;
}

var interval = i - today - 1;

检查http://jsbin.com/jozotoke/1/edit

关于javascript - 计算工作日问题,javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23144070/

相关文章:

Python - 字符串和 now() 的时间增量

c++ - PLU 分解的矩阵逆

javascript - 当方法具有同名参数时访问闭包变量

javascript - 自动滚动 jquery 无限滚动循环

php - 我应该将 Unix 时间戳转换为 "hour"时间戳吗?

delphi - 日期/时间操作 - 友好的倒计时字符串

java - 使用 Math.cos() 求角度的余弦值(以度为单位)

java - 在java中检查有效的括号

javascript - 如何编写 JavaScript 与 Flash 交互

javascript - Asp.net MVC Actionlink 动态添加路由值