尝试使用 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;
}
答案 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