javascript 中两个日期之间的时间差?

Difference in time between two dates in javascript?

我正在尝试使用 flipclock.js

制作一个倒计时时钟,直到 2017 年 1 月 20 日大约 12:00pm 就职典礼

如何计算当前时间与 date/time 之间的时间差(以秒为单位)?

我目前有:

var inauguration = new Date("January 20, 2017 12:00:00");
var now = Date.now();
var diff = inauguration - now;
var clock = $('#clock').FlipClock(diff, {
    countdown: true,
    clockFace: "DailyCounter"
});

成功了:

    var inauguration = new Date(2017, 00, 20, 12, 0, 0, 0);
    var now = Date.now();
    var diff = inauguration.getTime() - now;
    diff = diff / 1000;
    var clock = $('#clock').FlipClock(diff, {
        countdown: true,
        clockFace: "DailyCounter"
    });

目前 inauguration 是一个 Date 对象。您可以通过 .getTime() 函数获取秒数。您需要更改:

var diff = inauguration.getTime() - now;
//---------------------^^^^^^^^^^

您的工作代码应该是:

var inauguration = new Date(2017, 00, 20, 12, 0, 0, 0);
var now = Date.now();
var diff = inauguration.getTime() - now;
diff = diff / 1000;
var clock = $('#clock').FlipClock(diff, {
    countdown: true,
    clockFace: "DailyCounter"
});

getTime() 的想法是解决方案的一部分,加上一些其他的小改动,上面的代码现在可以正常工作了。

此外,原始实现也有效:

var inauguration = new Date("January 20, 2017 12:00:00");
var now = Date.now();
var diff = (inauguration.getTime() - now) / 1000;
var clock = $('#clock').FlipClock(diff, {
  countdown: true,
  clockFace: "DailyCounter"
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/flipclock/0.7.8/flipclock.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/flipclock/0.7.8/flipclock.min.js"></script>
<div id="clock"></div>