如果你对 Epoch 不是非常了解的话,请参考下下面的帖子:
Moment.js 是可以直接使用数字来构造 Moment 对象的。
需要注意的是 Epoch 时间可能有 2 个数字。
对比下面 2 个数字:
1635795000000
1635795000
其实都表示的是一个时间,不同的是第一个数字带上了毫秒,第二个数字没有。
那么在构造 Moment 对象的时候使用的方法是不同的。
对一个数字,我们应该使用:
moment(1635795000000)
直接构造就可以了。
对第二个数字,应该使用的方法是,moment.unix(1635795000)
从输出中,我们可以看出来,如果使用了 .unix 的方法的话,会自动在你的输入数据之后添加 3 个 0。
总结
Moment 对象内部使用的是毫秒级别的保存,因此在构造的时候如果使用的是数字来构造对象。
你需要考虑使用的方法,否则可能会出现不正确的情况。