2017-02-21 57 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 –