【发布时间】:2020-09-01 13:16:51
【问题描述】:
我有一个方法可以设置我的令牌的 created 属性,如下所示:
const token = new Token();
console.log(moment().toDate());
token.created = moment().toDate().toJSON();
有些事情我无法理解,这真的让我很困惑。
console.log(moment().toDate()); 行打印了Tue Sep 01 2020 14:11:39 GMT+0100,但是当我在调试器上检查属性created 时,尽管它使用相同的时刻对象和方法(除了调用toJSON()),它会产生一个落后一小时的日期时间像这样:2020-09-01T13:11:39.179Z
我将时刻日期作为字符串存储在 created 属性中,因为这将存储在 localStorage 中。
有人知道这是什么原因吗?
【问题讨论】:
-
原因是你的第一个日期是GMT+1,第二个是GMT:en.wikipedia.org/wiki/Greenwich_Mean_Time
-
您是否尝试过使用生成的字符串创建一个新的
moment实例? -
而不是这个:
moment().toDate().toJSON(),调用这个:moment().toDate().toISOString()或者只是通过:moment().toISOString()将时刻日期格式化为 ISO 8601。 -
this question 可能对你有帮助。
标签: javascript vue.js momentjs