2017-02-21 31 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分00秒GMT + 0000(GMT) - > EVENTTIME

星期二2017年2月21日08 :42:42 GMT + 0000(格林威治標準時間) - > 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()已經返回毫秒,沒有必要由1000

乘以你有此行改變這個

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

這個

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

看起來就是這樣!感謝@arcs –