JqueryUI日期选择器解析日期比较

JqueryUI日期选择器解析日期比较,jquery,jquery-ui,jquery-ui-datepicker,Jquery,Jquery Ui,Jquery Ui Datepicker,我试图比较jqueryui datepicker.beforeShowDay()中的日期,以确定日期是否可选择。然而,它似乎不起作用。代码是: function (d) { if ((d.getDay() == 0) || (d == $.datepicker.parseDate('yy/mm/dd', '2012/12/25'))) { return [false, ""]; } else { return [true, "2"] };

我试图比较jqueryui datepicker.beforeShowDay()中的日期,以确定日期是否可选择。然而,它似乎不起作用。代码是:

function (d) {
    if ((d.getDay() == 0) || (d == $.datepicker.parseDate('yy/mm/dd', '2012/12/25'))) {
      return [false, ""];
    }
    else {
      return [true, "2"]
    };
}
第一个测试(getDay)可以正常工作,但第二个测试不能:

(d == $.datepicker.parseDate('yy/mm/dd', '2012/12/25')): false
即使

$.datepicker.parseDate('dd/mm/yy', '25/12/2012'): Tue Dec 25 2012 00:00:00 GMT+0000 (GMT Standard Time)

在我看来是一样的


有什么想法吗?

我想你应该试着将
对象
字符串
进行比较。 在第一次测试中,您使用了
d.getDay()
,这是javascript中日期对象的方法


尝试将
d
对象转换为字符串。

首先使用
formatDate
方法将其转换为字符串格式,然后对相同类型进行比较:

function (d) {
    var datestrInNewFormat = $.datepicker.formatDate("yy/mm/dd", d);
    if ((d.getDay() == 0) || (datestrInNewFormat == '2012/12/25')) {
      return [false, ""];
    }
    else {
      return [true, "2"]
    }
}

答案不太正确,但让我走上正轨。parseDate()确实返回日期。有效的修复程序是d.toDateString()=$.datepicker.parseDate('yy/mm/dd','2012/12/25')。toDateString()
function (d) {
    var datestrInNewFormat = $.datepicker.formatDate("yy/mm/dd", d);
    if ((d.getDay() == 0) || (datestrInNewFormat == '2012/12/25')) {
      return [false, ""];
    }
    else {
      return [true, "2"]
    }
}