2016-06-02 2 views
0

jquery datetimepickerを使用していますが、開始時刻と終了時刻の違いを知りたいと思います。jquery datetimepickerで2時間の違いを計算する方法は?

どうすればjavascript/jqueryコードを使用して計算できますか?

開始時刻と終了時刻をhtmlでのように設定しました。

<div class='input-group date' id='time_starts_at'> 
    <input class="form-control" placeholder="Time Start's At *" autocomplete="off" type="text" name="" id="calendar_starts_at_time"> 
    <span class="input-group-addon"> 
    <span class="glyphicon glyphicon-time"></span> 
    </span> 
</div> 

<div class='input-group date' id='time_ends_at'> 
    <input class="form-control" placeholder="Time End's At *" autocomplete="off" type="text" name="" id="calendar_ends_at_time"> 
    <span class="input-group-addon"> 
     <span class="glyphicon glyphicon-time"></span> 
    </span> 
</div> 

そして、その値を取得することによって、私のjQueryコード:まま現在

var timeFrom = $start_time.data('date'); 
var timeTo = $end_time.data('date'); 

は、私は時間と分を分割することによって、手動でそれをやっています。値を減算する前に値をチェックして、検証を追加する。

これを行う最良の方法はありますか?

助けてください。ありがとうございました。

+0

これはあなたにいくつかのアイデアを与えるかもしれhttps://jsfiddle.net/taditdash/kh0ptnu5/ –

+0

を解決し、あなたがjquery.timepickerを使用していますか? – Sami

+0

こんにちは@Sam、nope。私はbootstrap-datetimepickerを使用しています。 –

答えて

0

は@Felixクリングに

おかげで、How do I calculate the time difference between strings in Javascript

function toSeconds(time_str) { 
    // Extract hours, minutes and seconds 
    var parts = time_str.split(':'); 
    // compute and return total seconds 
    return parts[0] * 3600 + // an hour has 3600 seconds 
    parts[1] * 60; // a minute has 60 seconds 
} 

var a = "10:55" //start time 
var b = "12:00" // end time 

var difference = Math.abs(toSeconds(a) - toSeconds(b)); 

// format time difference 
var result = [ 
    Math.floor(difference/3600), // an hour has 3600 seconds 
    Math.floor((difference % 3600)/60), // a minute has 60 seconds 
    difference % 60 
]; 
// 0 padding and concatation 
result = result.map(function(v) { 
    return v < 10 ? '0' + v : v; 
}).join(':'); 
alert(result); 
関連する問題