📅  最后修改于: 2023-12-03 15:27:47.761000             🧑  作者: Mango
在 JavaScript 中,我们经常需要对日期进行操作和比较。在某些场景下,我们需要获取两个日期之间的时间戳差异,即两个日期相差的毫秒数。本文将介绍如何在 JavaScript 中获取两个日期之间的相对时间戳差异。
JavaScript 中的 Date 对象可以表示时间和日期。使用 Date 对象获取当前时间戳可以通过下面的方式:
const now = new Date().getTime(); // 返回当前时间的时间戳,单位为毫秒
获取指定时间的时间戳也很简单,只需要把指定时间传递给 Date 构造函数:
const someDate = new Date('2021-08-30 12:00:00');
const someDateTimeStamp = someDate.getTime(); // 返回 2021 年 8 月 30 日 12:00:00 的时间戳
有了两个时间戳,我们可以很容易地计算它们之间的毫秒数差异:
const diff = someDateTimeStamp - now;
console.log(diff); // 输出 someDate 与当前时间的毫秒数差异
Moment.js 是一个流行的 JavaScript 日期库,它可以帮助我们方便地操作日期和时间。使用 Moment.js 获取两个日期之间的时间戳差异更加简单,只需要引入 Moment.js 库,然后使用 diff 方法即可:
const now = moment();
const someDate = moment('2021-08-30 12:00:00');
const diff = someDate.diff(now); // 返回 someDate 与当前时间的毫秒数差异
console.log(diff);
diff 方法还可以传递第二个参数,指定返回的时间差的单位,如下所示:
const now = moment();
const someDate = moment('2021-08-30 12:00:00');
const diffInSeconds = someDate.diff(now, 'seconds'); // 返回 someDate 与当前时间的秒数差异
console.log(diffInSeconds);
在 JavaScript 中获取两个日期之间的时间戳差异非常简单,我们可以使用 Date 对象或 Moment.js 辅助库实现。对于较为简单的场景,使用 Date 对象已经足够;对于需要更复杂的日期操作,我们建议使用 Moment.js 库。