为什么MongoDB在使用Mongoose和moment-timezones.js时会将我的UTC时区从UTC+2:00更改为UTC+0?

rqenqsqc  于 2023-06-05  发布在  Go
关注(0)|答案(1)|浏览(283)

MongoDB将UTC时间从UTC+2:00更改为UTC+0。
我尝试添加选项“{ forceServerObjectId:真}”,但没有帮助。
我用moment-timezones.js创建了date,基本上这就是我的全部代码:

const date = moment().format();
        console.log(date);

        playerDataSchema
          .updateOne(
            { DiscordID: user.id },
            { XPBoost: true, XPBoostExpiration: date }
          )
          .catch(function (err) {
            console.log(err);
          });
5lhxktic

5lhxktic1#

您应该存储Date对象,即使用moment().toDate()。将日期值存储为字符串是一个设计缺陷,你应该永远这样做。
MongoDB中的Date值存储为UTC时间-始终且仅限于此!
通常,客户端应用程序会注意以本地时区和格式显示日期/时间值。如果需要保留输入时区,则必须将其存储在单独的字段中。

相关问题