-2
(午夜)我试图自动计算时间差,如果时间差是在同一天例子的Javascript自动计算时间过去00十进制格式
开始它所有的工作原理确定结束时间
08:00 12:00 4.0
问题: 22:00 01:00
给出了结果-21.0小时,这是不可接受的 应该3.0小时
的源代码:FIDDLE LINK
<div class="container">
<table id="t1" class="table table-hover">
<tr>
<th class="text-center">Start Time</th>
<th class="text-center">End Time</th>
<th class="text-center">Stunden</th>
</tr>
<tr id="row1" class="item">
<td><input name="starts[]" class="starts form-control" ></td>
<td><input name="ends[]" class="ends form-control" ></td>
<td><input name="stunden[]" class="stunden form-control" readonly="readonly" ></td>
</tr>
<tr id="row2" class="item">
<td><input name="starts[]" class="starts form-control" value="22:00"></td>
<td><input name="ends[]" class="ends form-control" value="01:00"></td>
<td><input name="stunden[]" class="stunden form-control" readonly="readonly" ></td>
</tr>
</table>
</div>
JS
$(document).ready(function(){
$('.item').keyup(function(){
var starts = $(this).find(".starts").val();
var ends = $(this).find(".ends").val();
var stunden = NaN;
s = starts.split(':');
e = ends.split(':');
min = e[1]-s[1];
hour_carry = 0;
if(min < 0){
min += 60;
hour_carry += 1;
}
hour = e[0]-s[0]-hour_carry;
min = ((min/60)*100).toString()
if (hour < 0) {
hour += 24;
}
stunden = hour + "." + min.substring(0,2);
if (!isNaN(e[1])){ // && (hour > 0) && (hour < 24)
$(this).find(".stunden").val(stunden);
}
});
});
代码编辑,现在它的工作原理。
哦,什么是思念....谢谢......当你超速时发生这种情况 – lewis4u
如果第二个日期溢出到下一个月/年,此方法是否可行? – marekful
@marekful在这里没有日期。只有几小时和几分钟。 – JJJ