-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