我如何计算24小时格式的两次差异? [英] How can I calculate the difference between two times that are in 24 hour format?
本文介绍了我如何计算24小时格式的两次差异?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
示例:从 08:00:00
至 23:00:00
。
从两个下拉菜单中获取两个时间值并尝试计算两次之间的小时差。我得到了错误的结果...
工作示例: http://jsfiddle.net/VnwF7/1/
脚本:
$(document).ready(function(){
function calculateTime(){
//获取值$ b $ var var valuestart = $ (select [name ='timestart'])。val();
var valuestop = $(select [name ='timestop'])。val();
//创建日期格式
var timeStart = new Date(2007/01/01+ valuestart);
var timeEnd = new Date(2007/01/01+ valuestop);
var差异= timeEnd - timeStart;
var diff_result =新日期(差异);
var hourDiff = diff_result.getHours();
$(p)。html(< b>总时数:< / b>+ hourDiff)
}
$(select).change(calculateTime);
calculateTime();
});
HTML:
< select name =timestart>
< option value =01:00:00> 1:00 am< / option>
< option value =02:00:00> 2:00 am< / option>
< option value =03:00:00> 3:00 am< / option>
< option value =04:00:00> 4:00 am< / option>
< option value =05:00:00> 5:00 am< / option>
< option value =07:00:00>上午7:00< / option>
< option value =09:00:00>上午9:00< / option>
< option value =10:00:00> 10:00 am< / option>
< option value =11:00:00> 11:00 am< / option>
< option value =12:00:00> 12:00 pm< / option>
< option value =13:00:00> 1:00 pm< / option>
< option value =14:00:00> 2:00 pm< / option>
< option value =15:00:00> 3:00 pm< / option>
< option value =16:00:00> 4:00 pm< / option>
< option value =17:00:00> 5:00 pm< / option>
< option value =18:00:00> 6:00 pm< / option>
< option value =19:00:00> 7:00 pm< / option>
< option value =20:00:00> 8:00 pm< / option>
< option value =21:00:00> 9:00 pm< / option>
<选项值=23:00:00>下午11:00< / option>
< / select>
< select name =timestop>
< option value =01:00:00> 1:00 am< / option>
< option value =02:00:00> 2:00 am< / option>
< option value =03:00:00> 3:00 am< / option>
< option value =04:00:00> 4:00 am< / option>
< option value =05:00:00> 5:00 am< / option>
< option value =07:00:00>上午7:00< / option>
< option value =09:00:00>上午9:00< / option>
< option value =10:00:00> 10:00 am< / option>
< option value =11:00:00> 11:00 am< / option>
< option value =12:00:00> 12:00 pm< / option>
< option value =13:00:00> 1:00 pm< / option>
< option value =14:00:00> 2:00 pm< / option>
< option value =15:00:00> 3:00 pm< / option>
< option value =16:00:00> 4:00 pm< / option>
< option value =17:00:00> 5:00 pm< / option>
< option value =18:00:00> 6:00 pm< / option>
< option value =19:00:00> 7:00 pm< / option>
< option value =20:00:00> 8:00 pm< / option>
< option value =21:00:00> 9:00 pm< / option>
<选项值=23:00:00>下午11:00< / option>
< / select>
< p>< / p>
解决方案
您可以立刻减去小时数方式
var valuestart = $(select [name ='timestart'])。val();
var valuestop = $(select [name ='timestop'])。val();
//创建日期格式
var timeStart = new Date(01/01/2007+ valuestart).getHours();
var timeEnd = new Date(2007年1月1日+ valuestop).getHours();
var hourDiff = timeEnd - timeStart;
以下是工作小提琴 http://jsfiddle.net/VnwF7/4/
In JavaScript, how can I calculate the difference between two times that are in 24 hour format?
Example: Get how many hours elapsed from 08:00:00
to 23:00:00
.
Below I'm getting two time values from two dropdown menus and trying to calculate the difference in hours between the two times. I get wrong results...
Working example: http://jsfiddle.net/VnwF7/1/
Script:
$(document).ready(function() {
function calculateTime() {
//get values
var valuestart = $("select[name='timestart']").val();
var valuestop = $("select[name='timestop']").val();
//create date format
var timeStart = new Date("01/01/2007 " + valuestart);
var timeEnd = new Date("01/01/2007 " + valuestop);
var difference = timeEnd - timeStart;
var diff_result = new Date(difference);
var hourDiff = diff_result.getHours();
$("p").html("<b>Total Hours:</b> " + hourDiff )
}
$("select").change(calculateTime);
calculateTime();
});
HTML:
<select name="timestart">
<option value="00:00:00">12:00 am</option>
<option value="01:00:00">1:00 am</option>
<option value="02:00:00">2:00 am</option>
<option value="03:00:00">3:00 am</option>
<option value="04:00:00">4:00 am</option>
<option value="05:00:00">5:00 am</option>
<option value="06:00:00">6:00 am</option>
<option value="07:00:00">7:00 am</option>
<option value="08:00:00">8:00 am</option>
<option value="09:00:00">9:00 am</option>
<option value="10:00:00">10:00 am</option>
<option value="11:00:00">11:00 am</option>
<option value="12:00:00">12:00 pm</option>
<option value="13:00:00">1:00 pm</option>
<option value="14:00:00">2:00 pm</option>
<option value="15:00:00">3:00 pm</option>
<option value="16:00:00">4:00 pm</option>
<option value="17:00:00">5:00 pm</option>
<option value="18:00:00">6:00 pm</option>
<option value="19:00:00">7:00 pm</option>
<option value="20:00:00">8:00 pm</option>
<option value="21:00:00">9:00 pm</option>
<option value="22:00:00">10:00 pm</option>
<option value="23:00:00">11:00 pm</option>
</select>
<select name="timestop">
<option value="00:00:00">12:00 am</option>
<option value="01:00:00">1:00 am</option>
<option value="02:00:00">2:00 am</option>
<option value="03:00:00">3:00 am</option>
<option value="04:00:00">4:00 am</option>
<option value="05:00:00">5:00 am</option>
<option value="06:00:00">6:00 am</option>
<option value="07:00:00">7:00 am</option>
<option value="08:00:00">8:00 am</option>
<option value="09:00:00">9:00 am</option>
<option value="10:00:00">10:00 am</option>
<option value="11:00:00">11:00 am</option>
<option value="12:00:00">12:00 pm</option>
<option value="13:00:00">1:00 pm</option>
<option value="14:00:00">2:00 pm</option>
<option value="15:00:00">3:00 pm</option>
<option value="16:00:00">4:00 pm</option>
<option value="17:00:00">5:00 pm</option>
<option value="18:00:00">6:00 pm</option>
<option value="19:00:00">7:00 pm</option>
<option value="20:00:00">8:00 pm</option>
<option value="21:00:00">9:00 pm</option>
<option value="22:00:00">10:00 pm</option>
<option value="23:00:00">11:00 pm</option>
</select>
<p></p>
解决方案
You can just subtract the hours right away doing it this way
var valuestart = $("select[name='timestart']").val();
var valuestop = $("select[name='timestop']").val();
//create date format
var timeStart = new Date("01/01/2007 " + valuestart).getHours();
var timeEnd = new Date("01/01/2007 " + valuestop).getHours();
var hourDiff = timeEnd - timeStart;
Here's the working fiddle http://jsfiddle.net/VnwF7/4/
这篇关于我如何计算24小时格式的两次差异?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文