我想验证页面上的“开始”日期/时间对早于“结束”日期/时间对。我正在使用 jQueryUI 日期选择器和 HTML5 时间输入元素/小部件。
这个 jQuery:
var begD = $.datepicker.parseDate('mm/dd/yy', $('#BeginDate').val());
var endD = $.datepicker.parseDate('mm/dd/yy', $('#EndDate').val());
if (begD > endD) {
alert('Begin date must be before End date');
$('#BeginDate').focus();
return false;
}
(请在此处查看此脚本:http://jsfiddle.net/clayshannon/QCrXG/9/)
...适用于比较日期选择器值,但我也需要合并时间元素,以便“结束”时间元素中的时间(同一日期)早于“开始”时间元素还将将该范围标记为无效。
如何做到这一点?
最佳答案
这是一种方法。您需要测试日期是否相同,然后在其中将时间附加到新的日期对象中,然后可以进行比较。 (可能有更快的方法来做到这一点,但这在测试中有效,此处:http://jsfiddle.net/mori57/SEqVE/):
} else if(begD.toString() == endD.toString() ){
var dteString = begD.getFullYear() + "/" + (begD.getMonth()+1) + "/" + begD.getDate();
var begT = new Date(dteString + " " + $('#BeginTime').val());
var endT = new Date(dteString + " " + $('#EndTime').val());
if( begT > endT ){
alert('Begin date must be before End date');
$('#BeginTime').focus();
return false;
}
}
关于jquery - 如何使用 jQueryUI 日期选择器和 HTML5 时间输入来比较日期/时间值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18192288/