javascript - 匹配两个日期,如果匹配则返回 true

标签 javascript

function isInDate(MatchDate, entries) {
    for (c = 0; c < entries.length; c++) {
        var entry = entries[c];
        var DateFrom = new Date(entry.DateFrom);
        var DateTo = new Date(entry.DateTo);

        if (
            DateFrom.getMonth() <= MatchDate.getMonth() &&
            DateFrom.getDay() <= MatchDate.getDay() &&
            DateTo.getDay() >= MatchDate.getDay()
        ) {
            return true;
        }
    }

    return false;
}

我传入一个“MatchDate”,我想将其与每个循环条目“DateFrom”和“DateTo”进行比较,如果匹配日期在我想返回的时间跨度内,则返回 true,否则返回 false。

如果它与 DateFrom 同一天且与 DateTo 同一天,它也应该返回 true...无论我尝试什么都无法让它工作..有人可以帮忙吗?

最佳答案

getDay 返回一周中的某一天,而不是一个月中的某一天。

您想使用getDate()

你可以简单地这样做

return MatchDate >= DateFrom && MatchDate <= DateTo;

关于javascript - 匹配两个日期,如果匹配则返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46354782/

相关文章:

javascript - 将 Internet Explorer 8 及更低版本重定向到不同的网站

javascript - 将值从 jsp 发送到 javascript 的安全方法

javascript - 添加超过 1 个变量以从脚本在 php 上调用

javascript - 设置嵌套循环值返回错误 "e.replace is not a function"

javascript - 如何将 2 个文本框放在流体 img 上?一个左上角,另一个右下角 - 见截图

javascript - 在 javascript/jquery 中删除字符串的一部分?

javascript - Sencha Touch 中 "config "和 "defaults"之间的区别?

javascript - 嵌套 TabNavigator 未渲染?

javascript - 减少谷歌地图成本,只调用谷歌地图 javascript api

javascript - 在循环中创建新的对象实例