2017-03-16 8 views
0

나는 두 개의 datepickers (fromto)를 보유하고 있으며 이들 사이의 지속 시간을 변수 값 (예 : 60 분)으로 반올림해야합니다.Moment.js - 기간 라운드

해결되었지만 누군가가 더 짧거나 더 좋은 해결책을 알고 있을까요?

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

내 코드는 다음을 수행합니다

  • 두 시간 사이의 시간을 가져
  • 내 원하는 값까지 해당 날짜 라운드 UTC 시간 0
  • 에 기간을 추가 (60 분 => 풀 타임)
  • 그 시간과 새 UTC 시간 0 사이의 지속 시간을 가져옵니다.

잠시 멈출 수있는 또 다른 해결책이 있습니까?

+0

'대상'과 '대상'은 무엇입니까? – VincenzoC

답변

0

여기는 /에서 to까지 시간이있는 개체를 시간 경과에 따라 파악했다고 가정합니다.

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 (코드와 같음)이지만 전체 5까지 반올림하고 싶다. 너의 계단. – wendt88

+0

무엇을 반올림합니까? 2 시간은 최대 5 시간을 얻을 것입니까? – MGA

+0

제 경우에는 1 시간 동안 (이 값은 가변적이며 순간 지속 시간) roud해야합니다. 2시 37 분 -> 3시 또는 1:01 -> 2시와 같이 값을 어떻게 반올림 할 수 있습니까? – wendt88