jQuery字符串比较
jQuery string Comparison?
我正在比较两个日期,我的代码是这样的。
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(格式、值、设置)
[…]
可能会引发许多异常:
- "位置nn处缺少数字",如果格式指示一个当时未找到的数值
所以您的错误来自jQuery UI。从date.toString()
获得的格式取决于浏览器和语言环境,没有理由期望它总是dd/mm/yy
,而在您的情况下,它不是。
您的date
已经是一个字符串,并且格式已知(可能是dd/mm/yy
),所以您应该能够做到这一点:
var d = jQuery.datepicker.parseDate('dd/mm/yy', date);
以获取日期。然后您只需:即可获得today
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)
parseDate()可能有问题你只需使用就可以比较日期
if (today > date){...}
相关文章:
- 如何使用 JavaScript 比较字符串变量
- 替换函数后的Javascript比较字符串不起作用
- 如何比较字符串是javascript
- 比较字符串,如果存在小的拼写错误,则返回 true
- Javascript - 比较字符串环境
- 如何在忽略特殊字符的 javascript 中比较字符串
- 比较字符串中的单词
- 在 javascript 中比较字符串与日期时间的问题
- 比较字符串以查找缺少的子字符串
- 比较字符串是否以符号 @ jquery 或 javascript 开头
- 如何在 Javascript 中比较字符串数组
- 从提示返回的Javascript比较字符串
- 比较字符串的准确性(包括偏移)
- 在比较字符串的字符后创建新数组&大堆
- 在键入时比较字符串
- 如何在JavaScript中比较字符串
- javascript比较字符串(用于日期目的)
- JQuery比较字符串时出错
- Jquery比较字符串在POST中不起作用
- JS比较字符串和换行符