我在比较日期时有这段代码

var startDate = jQuery("#startDate_field_id").val();
var endDate = jQuery("#endDate_field_id").val();
var startDateSplit = startDate.split("-");
var endDateSplit = endDate.split("-");
var start = new Date();
var end = new Date();
start.setFullYear( startDateSplit[0], startDateSplit[1], startDateSplit[2] );
end.setFullYear( endDateSplit[0], endDateSplit[1], endDateSplit[2] );

if( end < start ) {
 alert("End Date should be less than Start Date of the Event");
}


#startDate_field_id的值为2011-10-05

白色$ endDate_field_id的值为2011-10-04

您认为这是行不通的原因。

任何帮助将不胜感激和奖励。
谢谢! :)

最佳答案

我认为您的第一个问题是您错误地使用了Date对象。您正在将三个参数传递给setFullYear()方法,该方法仅需要一个参数,即4位数字的年份。

var start = new Date();
var end = new Date();
start.setFullYear( startDateSplit[0], startDateSplit[1], startDateSplit[2] );
end.setFullYear( endDateSplit[0], endDateSplit[1], endDateSplit[2] );


您可能想要尝试这样的事情:

var start = new Date(startDateSplit[0], startDateSplit[1] - 1, startDateSplit[2])
var end = new Date(endDateSplit[0], endDateSplit[1] - 1, endDateSplit[2]);

07-24 20:01