我正在使用一个插件,它在预订表格中使用jquery UI作为其日历,并希望显示提醒,如果第二个日期少于第一个日期7天,则不允许提交表单,或者如果距离第一次约会超过30天。
所以[01.01.2012] + [02.01.2012]
无效
但
[01.01.2012] + [15.01.2012]
会工作,任何想法如何通过jquery实现这一点?非常感谢提前!
答案 0 :(得分:1)
您可以使用javascript日期对象来完成。 假设Date1是Date2中的第一个日期对象,第二个是。
var dateMin = new Date(Date.parse(Date1)); //you may not need to parse.
var dateMax = new Date(Date.parse(Date1)); //new Date(Date1) may work. Not sure
dateMin.setDate(Date1.getDate() + 7);
dateMax.setDate(Date1.getDate() + 15);
if (Date2 < dateMax && Date2 > dateMin) {
//code
} else {
//alert
}
你也可以做月,年,小时等同样的事情。
答案 1 :(得分:0)
基本上,这里的要点是你需要Date.parse()
两个日期(将它们带入毫秒)然后将这些毫秒除以/ 1000(得到秒数)/ 60(达到分钟数)/ 1440(得到天)。
然后测试一下它是否已经超过7并且你已经全力以赴!
$('#submit').on('click', function () {
var toDate = Date.parse($('#toDate').val()),
fromDate = Date.parse($('#fromDate').val()),
difference = toDate - fromDate;
var days = difference / 1000 / 60 / 1440;
if ( days < 7 ) {
alert('Please give at least 7 days between the dates!');
return false; // stop from submitting
}
// VALID
else {
alert('success!');
}
});