JqueryUI DatePicker parseDate比较

时间:2012-12-18 11:18:01

标签: 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"]
    };
}

第一个测试(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: Tue Dec 25 2012 00:00:00 GMT+0000 (GMT Standard Time)

对我来说看起来一样。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

首先使用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"]
    }
}

DEMO

答案 1 :(得分:0)

我认为您尝试将objectstring进行比较。 在第一次测试时,您使用了d.getDay(),它是javascript中Date对象的方法。

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