gpt4 book ai didi

javascript - 在javascript中计算2个给定时间的差异

转载 作者:行者123 更新时间:2023-12-03 06:41:59 25 4
gpt4 key购买 nike

我有 2 次下拉菜单,格式如下

Sun: Start Time::
<select name="timestart" size="1">
<option value="08:00:00">08:00</option>
<option value="08:30:00">08:30</option>
<option value="09:00:00">09:00</option>
<option value="09:30:00">09:30</option>
<option value="10:00:00">10:00</option>
<option value="10:30:00">10:30</option>
<option value="11:00:00">11:00</option>
<option value="11:30:00">11:30</option>
<option value="12:00:00">12:00</option>
<option value="12:30:00">12:30</option>
<option value="13:00:00">13:00</option>
<option value="13:30:00">13:30</option>
<option value="14:00:00">14:00</option>
<option value="14:30:00">14:30</option>
<option value="15:00:00">15:00</option>
<option value="15:30:00">15:30</option>
<option value="16:00:00">16:00</option>
<option value="16:30:00">16:30</option>
<option value="17:00:00">17:00</option>
</select><br />

还有

Sun: End Time::
<select name="timestop" size="1">
<option value="08:00:00">08:00</option>
<option value="08:30:00">08:30</option>
<option value="09:00:00">09:00</option>
<option value="09:30:00">09:30</option>
<option value="10:00:00">10:00</option>
<option value="10:30:00">10:30</option>
<option value="11:00:00">11:00</option>
<option value="11:30:00">11:30</option>
<option value="12:00:00">12:00</option>
<option value="12:30:00">12:30</option>
<option value="13:00:00">13:00</option>
<option value="13:30:00">13:30</option>
<option value="14:00:00">14:00</option>
<option value="14:30:00">14:30</option>
<option value="15:00:00">15:00</option>
<option value="15:30:00">15:30</option>
<option value="16:00:00">16:00</option>
<option value="16:30:00">16:30</option>
<option value="17:00:00">17:00</option>
</select><br />

我正在尝试在另一个输入框中显示时差

SunTotal:<input maxlength="255" id="sunvalue" name="inp_24771" type="text" value=""  /><br />

我正在使用下面的 javascript

<script>


$(document).ready(function() {
function calculateTime() {

var hourDiff = parseInt($("select[name='timestart']").val().split(':')[0],10) - parseInt($("select[name='timestop']").val().split(':')[0],10);

document.getElementById('sunvalue').value = hourDiff;


}
$("select").change(calculateTime);
calculateTime();
});


</script>

问题是代码只工作了一半,意味着只有当我在两个字段中选择小时(如 09:00 和 10:00)时,它才会显示时间,但当我选择以分钟为单位的时间(如 09:30 和 10:30)时,它不起作用

最佳答案

您尚未解析 session 记录部分。您需要做的就是获取分钟,将其转换为小时(例如 30 是 0.5 小时),然后进行计算。

下面附有 JSfiddle https://jsfiddle.net/1r6yykmv/

function parseTime(timeString){
var timeSections = timeString.split(':');
var hours = timeSections[0];
var minutes = timeSections[1];

var timeInHours = parseFloat(hours) + parseFloat(minutes / 60);
return timeInHours;
}

关于javascript - 在javascript中计算2个给定时间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37913547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com