1

我正在使用一个插件,它在预订表单上使用 jquery UI 作为其日历,并希望显示警报,并且如果第二个日期小于第一个日期的 7 天,或者如果从第一次约会开始超过 30 天。

所以[01.01.2012] + [02.01.2012]行不通

但是 [01.01.2012] + [15.01.2012]会起作用,知道如何通过jquery实现这一点吗?提前谢谢了!

4

2 回答 2

1

您可以使用 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
}

你也可以对月、年、小时等做同样的事情。

于 2012-08-22T15:29:10.153 回答
0

jsFiddle 演示

基本上这里的要点是您需要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!');
    }
});​
于 2012-08-22T15:35:54.537 回答