我一直在尝试使用 jQuery UI 的 datepicker 和 timepicker 插件(我刚刚发现并且非常满意的插件)来比较日期和时间。
所以,这就是我所拥有的:
$("#dateOfAb").val()
首先,来自和的预期值$("#dateOfAb2").val()
都使用具有以下格式的日期时间选择器:
时间:
$("#dateOfAb, #dateOfAb2").datetimepicker({ timeFormat: "hh:mm tt", stepMinute: 15 });
并且,虽然没有明确设置(这似乎是所述插件的默认日期格式):
日期格式:“月/日/年”
(示例输出:2013 年 8 月 16 日上午 12:00)
所以,我需要比较这些日期,虽然我在过去比较日期方面取得了成功,但我在比较相同日期的时间时遇到了麻烦(这是最终目标),但现在阻碍我的是我无法获得这两个parseDate
值(在完整日期/时间的子字符串上)以表明当日期相同时它们相等。
好的,最后一段可能有点令人困惑,所以这里是代码:
$("#dateOfAb2").change(function () {
console.log("FIRST SET: " + $.datepicker.parseDate("mm/dd/yy", $("#dateOfAb").val().substring(0, 9)))
console.log("FIRST SET: " + $.datepicker.parseDate("mm/dd/yy", $("#dateOfAb2").val().substring(0, 9)))
if ($.datepicker.parseDate("mm/dd/yy", $("#dateOfAb").val().substring(0, 9)) == $.datepicker.parseDate("mm/dd/yy", $("#dateOfAb2").val().substring(0, 9))) {
alert("The dates are tied.");
console.log("SECOND SET: " + $.datepicker.parseDate("mm/dd/yy", $("#dateOfAb").val().substring(0, 9)))
console.log("SECOND SET: " + $.datepicker.parseDate("mm/dd/yy", $("#dateOfAb2").val().substring(0, 9)))
}
});
问题是,即使我知道这些值完全相同(用console.log()
[下图] 证明),它们似乎并没有像我在我的if
分支中所期望的那样进行比较。
运行后的控制台图像:
您可以看到我只对值的日期部分进行了子串化,并且值是相同的,但我不确定我做错了什么以及为什么console.log()
命令的“SECOND SET:”不会执行。