Moment.js 如何使用 Epoch Time 来构造对象

如果你对 Epoch 不是非常了解的话,请参考下下面的帖子: UNIX时间:新纪元时间(Epoch Time)

Moment.js 是可以直接使用数字来构造 Moment 对象的。

需要注意的是 Epoch 时间可能有 2 个数字。

对比下面 2 个数字:

1635795000000
1635795000

其实都表示的是一个时间,不同的是第一个数字带上了毫秒,第二个数字没有。

那么在构造 Moment 对象的时候使用的方法是不同的。

对一个数字,我们应该使用:

moment(1635795000000) 直接构造就可以了。

对第二个数字,应该使用的方法是,moment.unix(1635795000)

从输出中,我们可以看出来,如果使用了 .unix 的方法的话,会自动在你的输入数据之后添加 3 个 0。

总结

Moment 对象内部使用的是毫秒级别的保存,因此在构造的时候如果使用的是数字来构造对象。

你需要考虑使用的方法,否则可能会出现不正确的情况。