2017-03-16 25 views
0

私は2つの日付ピッカー(fromto)を持っており、それらの間に持続時間を取る必要があり、可変値(例えば60分)を四捨五入します。Moment.js - 期間を丸める

私はそれを解決しましたが、誰かがより短く/より良い解決策を知っているかもしれませんか?

var duration = moment.duration(to - from), 
roundedDuration = moment.duration(
    moment.utc(0) 
    .add(duration) 
    .ceil(ROUNDINGVALUE, ROUNDINGUNIT) - moment.utc(0) 
); 

私のコードは次のようん:

  • は私の目標値(60分=までその日付ラウンドUTC時刻に0
  • を時間を追加
  • 両方の時間の間の期間を取得します>フルタイム)
  • その時刻から新しいUTC時刻0までの時間を取得します。

瞬間を巡る別の解決法はありますか?

+0

「to」と「from」とは何ですか? – VincenzoC

答えて

0

ここでは、あなたが時間の対象として時刻のオブジェクトとして/からを持っていると仮定しています。

var from = moment(), 
    to = moment().add(2, 'hours'); // adding 2 hours here just for example sake 

moment.duration(to.diff(from).asMinutes(); // 120  
moment.duration(to.diff(from).asHours() // 2, if you want in hours 
+0

私はdiff期間だけを取得したくありません、私は(他の固定された期間にその期間を丸める(ceil)たい:例えば、2つの日付間のdiff期間は2 houres(コードのような)ですが、あなたのステップ。 – wendt88

+0

何に丸めますか? 2時間は5時間に丸められますか? – MGA

+0

私の場合、私は最大1時間(この値は可変で、瞬間の持続時間)までにroudする必要があります。 2時37分→3時または1:01→2時のように値を丸める方法 – wendt88