Javascript jQuery字符串比较?
我正在比较两个日期,我的代码是这样的Javascript jQuery字符串比较?,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我正在比较两个日期,我的代码是这样的 jQuery('.newAppointment a.ui-state-default').click(function() { var date = jQuery(this).parent().attr('title'); var d = jQuery.datepicker.parseDate('dd/mm/yy',date.toString()); alert(d); var today = new Date; var t = jQuer
jQuery('.newAppointment a.ui-state-default').click(function() {
var date = jQuery(this).parent().attr('title');
var d = jQuery.datepicker.parseDate('dd/mm/yy',date.toString());
alert(d);
var today = new Date;
var t = jQuery.datepicker.parseDate('dd/mm/yy',today.toString() );
alert(t)
if(t > d){
url = "/users/" + user_id + "/events/new?type=Surgery"+"&day=" + escape(date);;
window.location = url;
}else{
alert("you cannot add appointment to past dates");
}
});
但是我在firebug中出错了。
未捕获异常:位置0处缺少编号
谁能告诉我哪里做错了。parseDate()可能有问题 您可以使用just比较日期
if (today > date){...}
parseDate()可能有问题 您可以使用just比较日期
if (today > date){...}
从:
解析日期(格式、值、设置)[…]
可能会引发许多异常:
- “位置nn处缺少数字”,如果格式指示了一个未找到的数值
dd/mm/yy
,在您的情况下,它不是
您的日期
已经是一个字符串,并且格式已知(大概是dd/mm/yy
),因此您应该能够执行以下操作:
var d = jQuery.datepicker.parseDate('dd/mm/yy', date);
去约会。然后,您只需执行以下操作即可获得:
var today = new Date;
并直接比较:
if(today > d)
如果您想放弃小时、分钟和秒,那么:
var now = new Date;
// Or set milliseconds, seconds, minutes, and hours to zero.
var today = new Date(now.getFullYear(), now.getMonth(), now.getDate());
if(today > d)
从:
解析日期(格式、值、设置)
[…]
可能会引发许多异常:
- “位置nn处缺少数字”,如果格式指示了一个未找到的数值
因此,您的错误来自jQueryUI。您从中获取的格式取决于浏览器和区域设置,没有理由期望它总是dd/mm/yy
,在您的情况下,它不是
您的日期
已经是一个字符串,并且格式已知(大概是dd/mm/yy
),因此您应该能够执行以下操作:
var d = jQuery.datepicker.parseDate('dd/mm/yy', date);
去约会。然后,您只需执行以下操作即可获得:
var today = new Date;
并直接比较:
if(today > d)
如果您想放弃小时、分钟和秒,那么:
var now = new Date;
// Or set milliseconds, seconds, minutes, and hours to zero.
var today = new Date(now.getFullYear(), now.getMonth(), now.getDate());
if(today > d)
Firebug可以告诉您错误发生在哪一行吗?Firebug可以告诉您错误发生在哪一行吗?日期对象可以直接比较。我尝试过,但每次都会进入其他部分。我的代码如下:jQuery('.newAppointment a.ui-state-default')。单击(function(){var date=jQuery(this.parent().attr('title'));var today=new Date();if(today>Date){url=“/users/”+user_id+”/events/new?type=Surgery“+”&day=“+escape(Date);;window.location=url;}否则{alert(“您不能将约会添加到过去的日期”);});日期对象可以直接比较。我尝试过,但每次都会进入其他部分。我的代码如下:jQuery('.newAppointment a.ui-state-default')。单击(function(){var date=jQuery(this).parent().attr('title');var today=new date();if(today>date){url=“/users/“+user_id+”/events/new?type=Surgery”+“&day=“+escape(date);;window.location=url;}否则{alert(“您不能将约会添加到过去的日期”);});