我正试图使用moment.js库获取UTC日期(只是为了将其发送到我的服务器(,如下所示:
const eighteenYearsAgoUTC = moment().utc().subtract(18, "years").toDate();
const eighteenYearsAgoUTCSinceUnixEpoch = eighteenYearsAgoUTC.valueOf()
console.log(eighteenYearsAgoUTCSinceUnixEpoch);
自unix epoch以来的毫秒数为:1051875596343
但是。。。如果我在没有utc的情况下也这样做,我会得到相同的结果
const eighteenYearsAgoUTC = moment().subtract(18, "years").toDate();
const eighteenYearsAgoUTCSinceUnixEpoch = eighteenYearsAgoUTC.valueOf()
console.log(eighteenYearsAgoUTCSinceUnixEpoch);
1051875596343
为什么自Unix Epoch以来,UTC日期和本地日期的毫秒数相同?
我的当地日期是:2003年5月2日星期五13:37:00 GMT+0200(中欧(
utc
方法只是更改moment解析和格式日期的方式。基本信息仍然是一样的。
自大纪元以来的毫秒值始终为UTC。您的两个代码片段都做相同的事情:
- 获取"现在">
- 减去18年
- 获取自Epoch值以来以毫秒为单位的结果
如果你格式化日期或解析日期,你会注意到不同,但你没有做这两件事。