比较2个日期一个是jquery对象,另一个是文本框
Comparing 2 Dates One is jquery Object and other is in textbox
我正在尝试比较两个日期,一个是在文本框中写为YYYY-MM-DD
,另一个是jquery Datepicker实例
我用自定义包装器函数调用函数
datePicker('#edd', {onSelect: function(str, obj){ check_if_edd_less_OD(str, obj); }});
和下面是比较日期的JS函数
function check_if_edd_less_OD(s, o) {
console.clear();
var eddDate = new Date();
eddDate.setDate(o.selectedDay);
eddDate.setMonth(o.selectedMonth);
eddDate.setYear(o.selectedYear);
orderDate = $('#orderdate').val().split('-');
console.log(orderDate);
var odDate = new Date();
odDate.setDate(parseInt(orderDate[2], 10));
odDate.setMonth(parseInt(orderDate[1], 10));
odDate.setYear(parseInt(orderDate[0], 10));
console.log(eddDate);
console.log(odDate);
if (odDate.getTime() < eddDate.getTime()) {
console.log('You shall Pass');
} else {
console.log('You shall NOT Pass');
}
}
截至今天,订单日期输入设置为2013-03-07,如果我从日期选择器中选择5 APR 2013,它不起作用
下面是console
的输出["2013", "03", "07"]
Date {Fri Apr 05 2013 16:55:23 GMT+0500 (Pakistan Standard Time)}
Date {Sun Apr 07 2013 16:55:23 GMT+0500 (Pakistan Standard Time)}
You shall NOT Pass
你可以看到console.log(eddDate);
给出正确的输出,但console.log(odDate);
给出的是2013年4月7日。
问题:为什么会有这样的行为?
Date
对象的月份计数从零开始(January:0,…,April:3)。不确定o.selectedMonth
是什么格式,但解析后的YYY-MM-DD日期应该更改为
odDate.setMonth(parseInt(orderDate[1], 10)-1);
顺便说一句,在比较两个Date
对象之前,您不需要调用getTime()
,它们将自动转换为该数字。
相关文章:
- 如何删除对象数组中的对象:jquery
- 为一个声音元素数组创建一个音频对象jquery,javascript
- 在原型对象 jquery 上将一个按钮与另一个按钮不同
- 编辑对象 jQuery 的属性
- ajax 正在用多个调用覆盖 XHR 对象 - jQuery
- 传递值并将其显示为对象 - jquery
- 如何将变量名转换为对象jQuery的索引字符串
- 访问多个动态对象 jQuery
- 使用OptGroup从两个分离的JSon对象JQuery填充Select
- 显示对象jquery中的数据
- 清空Javascript对象(Jquery Mobile)
- null不是对象-jQuery+传单
- 当事件是由单元格中的对象jQuery引起时,如何更改该单元格的自定义属性
- 未捕获类型错误:Property '$'对象- jQuery
- 从数组对象Jquery中移除对象
- 将属性值转换为对象(jquery或javascript)
- 不知道如何排序这个JSON对象jQuery/JavaScript
- 解析和字符串化json对象jquery
- 插入对象(jquery)延迟
- HTML ' img '标签不能在对象jquery中显示为图像