我正在使用一个插件,它在预订表单上使用 jquery UI 作为其日历,并希望显示警报,并且如果第二个日期小于第一个日期的 7 天,或者如果从第一次约会开始超过 30 天。
所以[01.01.2012] + [02.01.2012]
行不通
但是
[01.01.2012] + [15.01.2012]
会起作用,知道如何通过jquery实现这一点吗?提前谢谢了!
我正在使用一个插件,它在预订表单上使用 jquery UI 作为其日历,并希望显示警报,并且如果第二个日期小于第一个日期的 7 天,或者如果从第一次约会开始超过 30 天。
所以[01.01.2012] + [02.01.2012]
行不通
但是
[01.01.2012] + [15.01.2012]
会起作用,知道如何通过jquery实现这一点吗?提前谢谢了!
您可以使用 javascipt 日期对象来做到这一点。假设 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
}
你也可以对月、年、小时等做同样的事情。
基本上这里的要点是您需要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!');
}
});