2017-02-21 1 views
1

나는 두 날짜 사이에 서로를 세고있다. 나는 순간 라이브러리를 사용하고있다. this answer here을 찾았지만 정확한 결과를 얻지 못했습니다.날짜로 순간 카운트 다운

다음 코드는 아래에 나에게 시간을 제공 :

var eventTime = new Date(startTime); 
var currentTime = new Date(); 

console.log(eventTime); 
console.log(currentTime); 

금 2017년 2월 24일 19시 45분 0초 (그리니치 표준시) + 0000 (GMT) -> EVENTTIME

화 2017년 2월 21일 08 : 42 : 42 GMT + 0000 (GMT) -> currentTime

나는 다음과 같은 많은 종류를 시도했지만 올바른 카운트 다운 시간을 표시 할 수 없습니다.

var eventTime = new Date('2017-02-24T19:45:00.000000+0000').getTime(); 
 
var currentTime = new Date().getTime() 
 

 
console.log(eventTime); 
 
console.log(currentTime) 
 

 
var diffTime = eventTime - currentTime; 
 
var duration = moment.duration(diffTime * 1000, 'milliseconds'); 
 
var interval = 1000; 
 

 
setInterval(function() { 
 
    duration = moment.duration(duration - interval, 'milliseconds'); 
 
    console.log(duration.days() + ':' + duration.hours() + ":" + duration.minutes() + ":" + duration.seconds()) 
 
}, interval);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.5.1/moment.min.js"></script>

+0

@ VincenzoC 실행 코드 스 니펫을 여러 번 클릭하면 값이 계속 변경되고 일관성이없는 것을 볼 수 있습니다 ... 예를 들어 현재 이벤트가 29 일 동안 나에게 ... 'ms'또는 그와 비슷한 것을 얻기에 –

답변

2

.getTime() 이미 밀리 초를 반환 할 필요는 당신이

var duration = moment.duration(diffTime * 1000, 'milliseconds'); 

이 줄을 변경해야 1000

하여 곱 없습니다

var duration = moment.duration(diffTime, 'milliseconds'); 
+0

그 것처럼 보입니다! 감사합니다. –

관련 문제