片刻倒计时到一个日期

时间:2017-02-21 08:48:21

标签: javascript time momentjs

我有2个日期,我从一个到另一个倒计时。我正在使用片刻库。我找到了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(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>

1 个答案:

答案 0 :(得分:2)

.getTime()已经返回毫秒,不需要将它乘以1000。

您必须将此行更改为此

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

到这个

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