JqueryUI日期选择器解析日期比较
我试图比较jqueryui datepicker.beforeShowDay()中的日期,以确定日期是否可选择。然而,它似乎不起作用。代码是: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"] };
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"]
}
}