2017-01-20 24 views
1

jquery時間レンジピッカーがあり、私は 'am' & 'pm'表記を使用していません。私は24時間好む。私は選択された時間の時間差を計算する必要があります。時間差を処理す​​る方法

ユーザーは'09:00' & '12:00' -> 3 hours

私の問題は、彼が'20:00' & '00:00' -> must be 4時間を選択したが、負の与えた場合である選択します。あるいは、

私はabsを取るべきですか?または他の方法ですか?

+3

'メガバイトは最高ではない - 時間場合のみ、日付 –

+0

との間に一日があるだろうと仮定し最初の値に24を加えてください – Svekke

+0

@PraveenTiwari OPの最後の例は「21」時間です –

答えて

1

チェックあなたが得る違いと、それは負だ場合は、あなたが最初にあなたの時間を解析する必要があります。それにもちろん

var diff = function(a,b) { 
    var difference = b - a; 
    if (difference < 0) { 
    return difference + 24; 
    } else { 
    return difference; 
    } 
} 

を24時間を追加する場合、単純に追加します。ここではリターンの代わりにアラートを持つバイブルです。しかし、これは私が推測する最も簡単な方法ですが、hoursA> hoursB`を引く、その後、Bに24時間を追加する場合は、1つ fiddle

+1

Downvoteは私のものではありませんが、 ')'を逃してしまい、 'if'文の外側に何も返さない。また、問題のいくつかの説明とそれがこの問題を解決する理由は、この質問にOPと将来の訪問者を教育するのに役立つでしょう –

+0

ええとsryが最初にしようとしました:D – JavaEvgen

1

モジュロを使用する必要があります。残念ながら、Javascriptのモジュロは間違っています。

Number.prototype.mod = function(n) { 
 
    return ((this % n) + n) % n; 
 
}; 
 

 
console.log((0 - 20).mod(24));

関連する問題