2015-02-03 1 views
1

나는 밀리 초 단위로 시간을 가지고 나는 형식 HH로 표시하고 싶습니다 : MM : SS, 그래서HH에 밀리 초를 변환 : mm : JS와 SS가 추가 1시간

var dtFromMillisec = new Date(myDuration); 
var result = dtFromMillisec.getHours() + ":" + dtFromMillisec.getMinutes() + ":" + dtFromMillisec.getSeconds(); 
사용하려고했습니다

내가받는 시간은 00:00:15가되어야하지만 1 : 0 : 15입니다. 항상 1 시간 더 늘리는 이유는 무엇입니까? 다음과 같이 기간 사용하여 작업하는 경우

+0

입력과 출력을 표시 할 수 있습니까? 'myDuration'이란 무엇입니까? – Jivings

+0

현재 날짜로 작업하면 문제가 없으므로 http://jsfiddle.net/r7qqr85g/ –

답변

1

하는 Date 객체를 사용하지 않는, 그것을 할 : Date 생성자는 밀리 초 단위로 표현 될 수있는 일이있을 때 사용하기위한 것입니다

var result = Math.floor(myDuration/(1000*60*60)) + ":" + Math.floor(myDuration/(1000*60))%60 + ":" + Math.floor(myDuration/1000)%60; 

그건 1970 년 1 월 1 일 UTC 이후 통과 된

편집, 밀리 초 제로에 따라서 날짜는 01 January, 1970 UTC 01:00:00는 GMT + 1 시간대에 있기 때문에 귀하의 Date 객체가 아마 1 시간 보여주는

입니다.

+0

글을 참고하십시오 : myDuration = 9702 결과가 = 0.002695 : 0.1617 : 9.702 :/ – Lempkin

+0

'Math.Round' 그때. 9702 밀리 초 동안 10 초를 얻는 것이 옳습니다. – Joanvo

관련 문제