Javascript 比较jquery时间选择器值

Javascript 比较jquery时间选择器值,javascript,jquery,validation,timepicker,Javascript,Jquery,Validation,Timepicker,将计时器设置为24小时作为跟随者: $(document).ready(function(){ $('input.timepicker').timepicker({ timeFormat: 'HH:mm', minTime: '04:00', interval: 10, scrollbar: true, dynamic: true }); }); 我有两个字段来获取开始和结束时间 <inp

将计时器设置为24小时作为跟随者:

$(document).ready(function(){
    $('input.timepicker').timepicker({ 
        timeFormat: 'HH:mm', 
        minTime: '04:00',
        interval: 10,
        scrollbar: true,
        dynamic: true
    });
});
我有两个字段来获取开始和结束时间

<input type="text" class="timepicker" name="travelstart" id="travelstart" placeholder="Travel Start" style="width:25%"> 
<input type="text" class="timepicker" name="travelfinish" placeholder="Travel Finish" style="width:25%" readonly/>

你所需要做的就是把时间转换成一个单位,然后进行比较。由于它只是一个24小时计时器,我们可以在这里使用分钟:

var ts = document.getElementById('travelstart').value;
var fs = document.getElementById('travelfinish').value;
var startTime, endTime, timeArr;
// split the hours and minutes
timeArr = ts.split(':');
// Hours is in timeArr[0]; minutes in timeArr[1];
startTime = (timeArr[0] * 60) + +timeArr[1];
// do the same for end time:
timeArr = fs.split(':');
endTime = (timeArr[0] * 60) + +timeArr[1];
// Now you can compare them
return startTime >= endTime;

你所需要做的就是把时间转换成一个单位,然后进行比较。由于它只是一个24小时计时器,我们可以在这里使用分钟:

var ts = document.getElementById('travelstart').value;
var fs = document.getElementById('travelfinish').value;
var startTime, endTime, timeArr;
// split the hours and minutes
timeArr = ts.split(':');
// Hours is in timeArr[0]; minutes in timeArr[1];
startTime = (timeArr[0] * 60) + +timeArr[1];
// do the same for end time:
timeArr = fs.split(':');
endTime = (timeArr[0] * 60) + +timeArr[1];
// Now you can compare them
return startTime >= endTime;

我猜你在用这个

首先,如果您只调用
document.getElementById('travelstart').value
它将以
“04:00am”
格式返回时间,这可能不是您想要的,因此请更好地使用:

$('#options-change-event').timepicker().getTime()
获取实际的JavaScript日期对象

然后将这两个时间转换为时间戳,然后进行比较:

var tsDate = $('#options-change-event').timepicker().getTime();
var tsMinutes = 60 * tsDate.getHours() + tsDate.getMinutes();

// ... the same with the seconds timepicker

return tsMinutes > tfMinutes;

我猜你在用这个

首先,如果您只调用
document.getElementById('travelstart').value
它将以
“04:00am”
格式返回时间,这可能不是您想要的,因此请更好地使用:

$('#options-change-event').timepicker().getTime()
获取实际的JavaScript日期对象

然后将这两个时间转换为时间戳,然后进行比较:

var tsDate = $('#options-change-event').timepicker().getTime();
var tsMinutes = 60 * tsDate.getHours() + tsDate.getMinutes();

// ... the same with the seconds timepicker

return tsMinutes > tfMinutes;

您正在使用的时间选择器以及
.value
返回的值是什么?该代码不起作用吗?因为您使用的是24小时时间,所以它们应该作为字符串进行比较。很好……您使用的时间选择器和
.value
返回的值是什么?代码不起作用吗?因为您使用的是24小时制,所以它们应该作为字符串进行比较;忘了,谢谢。更新代码以将
timeArr[1]
转换为一个数字。是;忘了,谢谢。更新代码以将
timeArr[1]
转换为数字。