检查日期是否大于今天

时间:2021-01-21 16:05:55

标签: javascript jquery

尝试使用 Jquery 来确认所选日期是否等于或大于今天。 如果我选择今天,它会返回它,因为选择的日子比今天少。选择前一天效果很好,但选择今天返回小于。任何提示。

var firstRepaymentDate = new Date($('#First_Repayment_Date').val());
                var today = new Date();
                if (firstRepaymentDate.getTime() < today.getTime()) {
                    alert('The First Repayment Date Can only Be Today Or Future Date');
                    return false;
                }

2 个答案:

答案 0 :(得分:2)

不要忘记 new Date() 也将包括当前时间。您需要使用 today.setHours(0,0,0,0) 删除该时间组件才能正确进行比较。

此外,setHours() 会返回像 getTime() 这样的基础值,因此您可以这样做

var firstRepaymentDate = new Date($('#First_Repayment_Date').val());
var today = new Date();
if (firstRepaymentDate.getTime() < today.setHours(0,0,0,0)) {
    alert('The First Repayment Date Can only Be Today Or Future Date');
    return false;
}

回应关于增加 20 天的评论:

这有点详细,但相当简单。

var today = new Date();
var plus20Days = new Date(today.setDate(today.getDate() + 20));

然后您可以再次使用 setHours() 重置时间组件。

答案 1 :(得分:1)

new Date() 也考虑时间,而不仅仅是日期。我认为实现这一目标的最简单方法是分别使用 getFullYear() , getMonth() , getDate().

这里检查所有操作js日期的方法 https://developer.mozilla.org/it/docs/Web/JavaScript/Reference/Global_Objects/Date