Jquery 如何计算两种HTML5时间输入类型之间的差异
我有一个包含两个输入type=“time”字段的表单。我在表单上有第三个输入type=“time”字段,名为“delay”,我希望使用jQuery根据两次之间的差异进行更新 我一直在寻找答案,但到目前为止还没有找到有效的解决方案。由于输入type=“time”字段仅包含小时/分钟,因此我尝试了以下方法:Jquery 如何计算两种HTML5时间输入类型之间的差异,jquery,html,time,Jquery,Html,Time,我有一个包含两个输入type=“time”字段的表单。我在表单上有第三个输入type=“time”字段,名为“delay”,我希望使用jQuery根据两次之间的差异进行更新 我一直在寻找答案,但到目前为止还没有找到有效的解决方案。由于输入type=“time”字段仅包含小时/分钟,因此我尝试了以下方法: <input type="time" id="timeOfCall"> <input type="time" id="timeOfResponse"> var time
<input type="time" id="timeOfCall">
<input type="time" id="timeOfResponse">
var timeOfCall = $('#timeOfCall').val();
var timeOfResponse = $('#timeOfResponse').val();
var diff = new Date("Aug 08 2012" + timeOfCall) - new Date("Aug 08 2012" + timeOfResponse);
var timeDifference = diff/(60*60*1000);
这肯定是最接近工作的,但有时会产生一些奇怪的结果。例如,如果调用的时间为01:01,响应的时间为03:03,则其差值为2.033333
在这两种情况下,我也无法在任何情况下更新“延迟”时间字段
$('#delay').val(timeDifference);
什么都不做。我真的非常感谢任何和所有的帮助,我已经在过去的几天里一直在努力,但没有成功,也没有真正的线索如何着手修复它。我在谷歌上搜索了很多次,但实际上很少有结果与HTML5输入类型=“时间”字段相关,所以我到目前为止运气不好
编辑:可能就是这样:
$('button')。在('click',函数(){
var timeOfCall=$('#timeOfCall').val(),
响应时间=$(“#响应时间”).val(),
小时=响应时间.split(':')[0]-调用时间.split(':')[0],
分钟=响应时间.split(':')[1]-调用时间.split(':')[1];
分钟=分钟。toString().length请发布一个功能示例来说明您的问题。@PalashMondal这是小提琴:非常感谢烘焙,这正是我要找的!烘焙有一个小问题。如果左侧的分钟数大于右侧的分钟数,则不会显示任何内容。您建议如何操作正在考虑修复它?如何使用Javascript而不是jquery进行修复?01:00am-01:00am
yield12:00am
可以吗?
$('#delay').val(timeDifference);
$('button').on('click', function () {
var timeOfCall = $('#timeOfCall').val(),
timeOfResponse = $('#timeOfResponse').val(),
hours = timeOfResponse.split(':')[0] - timeOfCall.split(':')[0],
minutes = timeOfResponse.split(':')[1] - timeOfCall.split(':')[1];
minutes = minutes.toString().length<2?'0'+minutes:minutes;
if(minutes<0){
hours--;
minutes = 60 + minutes;
}
hours = hours.toString().length<2?'0'+hours:hours;
$('#delay').val(hours + ':' + minutes);
});